public class MergedParameterization extends Object implements Parameterization
Modifier and Type | Field and Description |
---|---|
private ListParameterization |
current
Parameters we used before, but have rewound
|
private Parameterization |
inner
The parameterization we get the new values from.
|
private List<Pair<OptionID,Object>> |
used
Parameters to rewind.
|
Modifier | Constructor and Description |
---|---|
|
MergedParameterization(Parameterization child)
Constructor.
|
private |
MergedParameterization(Parameterization inner,
ListParameterization current,
List<Pair<OptionID,Object>> used)
Constructor for descending
|
Modifier and Type | Method and Description |
---|---|
boolean |
checkConstraint(GlobalParameterConstraint constraint)
Check a parameter constraint.
|
Parameterization |
descend(Object option)
Descend parameterization tree into sub-option.
|
Collection<ParameterException> |
getErrors()
Get the configuration errors thrown in
Parameterization.grab(de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter<?>) |
boolean |
grab(Parameter<?> opt)
Get the option value from the Parameterization.
|
boolean |
hasErrors()
Return true when there have been errors.
|
boolean |
hasUnusedParameters()
Check for unused parameters
|
void |
reportError(ParameterException e)
Report a configuration error.
|
void |
rewind()
Rewind the configuration to the initial situation
|
boolean |
setValueForOption(Parameter<?> opt)
Assign a value for an option, but not using default values and throwing
exceptions on error.
|
<C> C |
tryInstantiate(Class<C> c)
Try to instantiate a particular class.
|
<C> C |
tryInstantiate(Class<C> r,
Class<?> c)
Try to instantiate a particular class.
|
private final Parameterization inner
private final ListParameterization current
public MergedParameterization(Parameterization child)
child
- Child parameterization to wrap.private MergedParameterization(Parameterization inner, ListParameterization current, List<Pair<OptionID,Object>> used)
inner
- Child parameterization to use.current
- Current parameterization to re-usedused
- Used parameters list.public void rewind()
public boolean setValueForOption(Parameter<?> opt) throws ParameterException
Parameterization
setValueForOption
in interface Parameterization
opt
- Parameter to setParameterException
- on assignment errors.public Parameterization descend(Object option)
Parameterization
ClassParameter.instantiateClass(de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameterization)
.
You only need to call this when you want to expose the tree structure
without offering a class choice as parameter.descend
in interface Parameterization
option
- Option subtreepublic Collection<ParameterException> getErrors()
Parameterization
Parameterization.grab(de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter<?>)
getErrors
in interface Parameterization
public boolean hasErrors()
Parameterization
hasErrors
in interface Parameterization
public void reportError(ParameterException e)
Parameterization
reportError
in interface Parameterization
e
- Destination to report errors topublic boolean grab(Parameter<?> opt)
Parameterization
opt
itself!
In particular Parameterization.grab(de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter<?>)
can return true
when
Flag.getValue()
returns false
! Instead the semantics of grab
are those of Parameter#isDefined()
.
This method will catch ParameterException
s and store them to be
retrieved by Parameterization.getErrors()
.grab
in interface Parameterization
opt
- Option to addpublic boolean hasUnusedParameters()
Parameterization
hasUnusedParameters
in interface Parameterization
true
if at least one parameter was not consumedpublic boolean checkConstraint(GlobalParameterConstraint constraint)
Parameterization
checkConstraint
in interface Parameterization
constraint
- Parameter constraintpublic <C> C tryInstantiate(Class<C> r, Class<?> c)
Parameterization
tryInstantiate
in interface Parameterization
C
- return typer
- Restriction classc
- Base classpublic <C> C tryInstantiate(Class<C> c)
Parameterization
tryInstantiate
in interface Parameterization
C
- return typec
- Base class