public class ParameterDriversList extends Object
参数驱动器
的类,负责处理重复的名称。
一旦具有相同名称的参数驱动器被添加到此类的实例中,它们将永久绑定在一起,也绑定到管理它们的委托驱动器
。这意味着如果驱动器d1
、d2
... dn
被添加到列表中,并且都对应于参数名称“P”,那么getDrivers()
将返回一个包含相同名称“P”的委托驱动器delegateD
的列表。之后,无论是在n+1
个实例d1
、d2
... dn
或delegateD
上调用ParameterDriver.setValue(double)
还是ParameterDriver.setReferenceDate(AbsoluteDate)
,调用都将自动转发到其余的n
个实例,从而确保它们保持一致。
Modifier and Type | Class and Description |
---|---|
static class |
ParameterDriversList.DelegatingDriver
专门的驱动器,委托给多个管理相同参数名称的其他驱动器。
|
Constructor and Description |
---|
ParameterDriversList()
创建一个空列表。
|
Modifier and Type | Method and Description |
---|---|
void |
add(ParameterDriver driver)
添加一个驱动器。
|
void |
filter(boolean selected)
过滤参数,仅保留一种选择状态。
|
ParameterDriversList.DelegatingDriver |
findByName(String name)
通过名称查找 委托驱动器 。
|
String |
findDelegatingSpanNameBySpanName(String name)
通过名称查找 委托驱动器 。
|
List<ParameterDriversList.DelegatingDriver> |
getDrivers()
获取所有参数的委托驱动器。
|
int |
getNbParams()
获取具有不同名称的参数数量。
|
int |
getNbValuesToEstimate()
获取具有不同名称的参数需要估计的值数量。
|
void |
sort()
按字典顺序对参数进行排序。
|
public void add(ParameterDriver driver)
如果驱动器已经存在,则不会被添加。如果已经存在管理相同参数的另一个驱动器,则两个驱动器将一起管理,现有驱动器将设置为最后添加的驱动器的值(即每次添加都会覆盖参数值)。
警告:如果添加了一个驱动器,并且之前已经添加了一个具有相同名称的驱动器,则它们应该具有相同的有效期,以避免意外情况。无论如何,所有具有相同名称的驱动器都将其valueSpanMap、nameSpanMap和有效期属性被最后添加的驱动器覆盖。
driver
- 要添加的驱动器
public ParameterDriversList.DelegatingDriver findByName(String name)
委托驱动器
。
name
- 要检查的名称
委托驱动器
public String findDelegatingSpanNameBySpanName(String name)
委托驱动器
。
name
- 要检查的名称
委托驱动器
public void sort()
public void filter(boolean selected)
selected
- 如果为true,则仅保留selected
参数,其他参数将被移除
public int getNbParams()
public int getNbValuesToEstimate()
public List<ParameterDriversList.DelegatingDriver> getDrivers()
委托驱动器与添加到列表中的驱动器不同,但它们委托给它们。
所有委托驱动器管理具有不同名称的参数。
Copyright © 2002-2023 CS GROUP. All rights reserved.