public class ParameterDriversList extends Object
parameter drivers
,
taking care of duplicated names.
Once parameter drivers sharing the same name have been added to
an instance of this class, they are permanently bound together and
also bound to the delegating driver
that
manages them. This means that if drivers d1
, d2
...
dn
are added to the list and both correspond to parameter
name "P", then getDrivers()
will return a list containing
a delegating driver delegateD
for the same name "P".
Afterwards, whenever either ParameterDriver.setValue(double)
or ParameterDriver.setReferenceDate(AbsoluteDate)
is called
on any of the n+1
instances d1
, d2
... dn
or delegateD
, the call will be automatically forwarded to the
n
remaining instances, hence ensuring they remain consistent
with each other.
Modifier and Type | Class | Description |
---|---|---|
static class |
ParameterDriversList.DelegatingDriver |
Specialized driver delegating to several other managing
the same parameter name.
|
Constructor | Description |
---|---|
ParameterDriversList() |
Creates an empty list.
|
Modifier and Type | Method | Description |
---|---|---|
void |
add(ParameterDriver driver) |
Add a driver.
|
void |
filter(boolean selected) |
Filter parameters to keep only one type of selection status.
|
ParameterDriversList.DelegatingDriver |
findByName(String name) |
Find a
delegating driver by name. |
List<ParameterDriversList.DelegatingDriver> |
getDrivers() |
Get delegating drivers for all parameters.
|
int |
getNbParams() |
Get the number of parameters with different names.
|
void |
sort() |
Sort the parameters lexicographically.
|
public void add(ParameterDriver driver) throws OrekitException
If the driver is already present, it will not be added. If another driver managing the same parameter is present, both drivers will be managed together, existing drivers being set to the value of the last driver added (i.e. each addition overrides the parameter value).
driver
- driver to addOrekitException
- if an existing driver for the
same parameter throws one when its value is reset using the
new driver valuepublic ParameterDriversList.DelegatingDriver findByName(String name)
delegating driver
by name.name
- name to checkdelegating driver
managing this parameter namepublic void sort()
public void filter(boolean selected)
selected
- if true, only selected
parameters will be kept, the other ones will be removedpublic int getNbParams()
public List<ParameterDriversList.DelegatingDriver> getDrivers()
The delegating drivers are not the same as the drivers added to the list, but they delegate to them.
All delegating drivers manage parameters with different names.
Copyright © 2002-2018 CS Systèmes d'information. All rights reserved.