1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.forces;
18
19
20 import java.util.ArrayList;
21 import java.util.List;
22
23 import org.orekit.errors.OrekitException;
24 import org.orekit.errors.OrekitMessages;
25 import org.orekit.utils.ParameterDriver;
26
27
28
29
30
31 public abstract class AbstractForceModel implements ForceModel {
32
33
34 public ParameterDriver getParameterDriver(final String name)
35 throws OrekitException {
36
37 for (final ParameterDriver driver : getParametersDrivers()) {
38 if (name.equals(driver.getName())) {
39
40 return driver;
41 }
42 }
43
44 throw notSupportedException(name);
45
46 }
47
48
49 @Override
50 public boolean isSupported(final String name) {
51 for (final ParameterDriver driver : getParametersDrivers()) {
52 if (name.equals(driver.getName())) {
53
54 return true;
55 }
56 }
57
58 return false;
59 }
60
61
62
63
64
65 protected void complainIfNotSupported(final String name)
66 throws OrekitException {
67 if (!isSupported(name)) {
68 throw notSupportedException(name);
69 }
70 }
71
72
73 @Deprecated
74 @Override
75 public List<String> getParametersNames() {
76 final ParameterDriver[] parameters = getParametersDrivers();
77 final List<String> names = new ArrayList<String>(parameters.length);
78 for (final ParameterDriver driver : parameters) {
79 names.add(driver.getName());
80 }
81 return names;
82 }
83
84
85 @Deprecated
86 public double getParameter(final String name)
87 throws OrekitException {
88 return getParameterDriver(name).getValue();
89 }
90
91
92 @Deprecated
93 public void setParameter(final String name, final double value)
94 throws OrekitException {
95 getParameterDriver(name).setValue(value);
96 }
97
98
99
100
101
102 private OrekitException notSupportedException(final String name) {
103
104 final StringBuilder builder = new StringBuilder();
105 for (final ParameterDriver driver : getParametersDrivers()) {
106 if (builder.length() > 0) {
107 builder.append(", ");
108 }
109 builder.append(driver.getName());
110 }
111 if (builder.length() == 0) {
112 builder.append("<none>");
113 }
114
115 return new OrekitException(OrekitMessages.UNSUPPORTED_PARAMETER_NAME,
116 name, builder.toString());
117
118 }
119
120 }