
T - the type of a possible value (i.e., the type of the option)public abstract class AbstractParameter<T> extends Object implements Parameter<T>
de.lmu.ifi.dbs.elki.utilities.optionhandling package for
 documentation!| Modifier and Type | Field and Description | 
|---|---|
| protected List<ParameterConstraint<? super T>> | constraintsHolds parameter constraints for this parameter. | 
| protected T | defaultValueThe default value of the parameter (may be null). | 
| private boolean | defaultValueTakenSpecifies if the default value of this parameter was taken as parameter
 value. | 
| protected T | givenValueThe value last passed to this option. | 
| protected boolean | optionalParameterSpecifies if this parameter is an optional parameter. | 
| protected OptionID | optionidThe option name. | 
| protected String | shortDescriptionThe short description of the option. | 
| private T | valueThe value of this option. | 
| Constructor and Description | 
|---|
| AbstractParameter(OptionID optionID)Constructs a parameter with the given optionID, and constraints. | 
| AbstractParameter(OptionID optionID,
                 boolean optional)Constructs a parameter with the given optionID, constraints, and optional
 flag. | 
| AbstractParameter(OptionID optionID,
                 T defaultValue)Constructs a parameter with the given optionID, constraints, and default
 value. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addConstraint(ParameterConstraint<? super T> constraint)Add an additional constraint. | 
| void | addConstraints(Collection<? extends ParameterConstraint<? super T>> cs)Add a collection of constraints. | 
| T | getDefaultValue()Returns the default value of the parameter. | 
| String | getDefaultValueAsString()Get the default value as string. | 
| String | getFullDescription()Returns the extended description of the option which includes the option's
 type, the short description and the default value (if specified). | 
| Object | getGivenValue()Get the last given value. | 
| String | getName()Returns the name of the option. | 
| OptionID | getOptionID()Return the OptionID of this option. | 
| String | getShortDescription()Returns the short description of the option. | 
| abstract String | getSyntax()Returns a string representation of the parameter's type (e.g. an
  IntParametershould return<int>). | 
| T | getValue()Returns the value of the option. | 
| abstract String | getValueAsString()Get the value as string. | 
| String | getValuesDescription()Return a string explaining valid values. | 
| boolean | hasDefaultValue()Checks if this parameter has a default value. | 
| boolean | hasValuesDescription()Whether this class has a list of default values. | 
| boolean | isDefined()Returns true if the value of the option is defined, false otherwise. | 
| boolean | isOptional()Checks if this parameter is an optional parameter. | 
| boolean | isValid(Object obj)Checks if the given argument is valid for this option. | 
| protected abstract T | parseValue(Object obj)Parse a given value into the destination type. | 
| void | setDefaultValue(T defaultValue)Sets the default value of this parameter. | 
| void | setOptional(boolean opt)Specifies if this parameter is an optional parameter. | 
| void | setShortDescription(String description)Sets the short description of the option. | 
| void | setValue(Object obj)Sets the value of the option. | 
| protected void | setValueInternal(T val)Internal setter for the value. | 
| boolean | tookDefaultValue()Checks if the default value of this parameter was taken as the actual
 parameter value. | 
| boolean | tryDefaultValue()Handle default values for a parameter. | 
| void | useDefaultValue()Sets the default value of this parameter as the actual value of this
 parameter. | 
| protected boolean | validate(T obj)Validate a value after parsing (e.g. do constrain checks!) | 
protected T defaultValue
private boolean defaultValueTaken
protected boolean optionalParameter
protected List<ParameterConstraint<? super T>> constraints
protected final OptionID optionid
protected String shortDescription
getFullDescription()protected T givenValue
private T value
public AbstractParameter(OptionID optionID, T defaultValue)
optionID - the unique id of this parameterdefaultValue - the default value of this parameter (may be null)public AbstractParameter(OptionID optionID, boolean optional)
optionID - the unique id of this parameteroptional - specifies if this parameter is an optional parameterpublic AbstractParameter(OptionID optionID)
optionID - the unique id of this parameterpublic void setDefaultValue(T defaultValue)
ParametersetDefaultValue in interface Parameter<T>defaultValue - default value of this parameterpublic boolean hasDefaultValue()
ParameterhasDefaultValue in interface Parameter<T>public void useDefaultValue()
ParameteruseDefaultValue in interface Parameter<T>public boolean tryDefaultValue()
                        throws UnspecifiedParameterException
ParametertryDefaultValue in interface Parameter<T>true if it has a default value, false
         if it is optional without a default value. Exception if it is a
         required parameter!UnspecifiedParameterException - If the parameter requires a valuepublic void setOptional(boolean opt)
ParametersetOptional in interface Parameter<T>opt - true if this parameter is optional, false otherwisepublic boolean isOptional()
ParameterisOptional in interface Parameter<T>public boolean tookDefaultValue()
ParametertookDefaultValue in interface Parameter<T>public boolean isDefined()
Parameterpublic T getDefaultValue()
ParametergetDefaultValue in interface Parameter<T>public boolean hasValuesDescription()
ParameterhasValuesDescription in interface Parameter<T>public String getValuesDescription()
ParametergetValuesDescription in interface Parameter<T>public String getFullDescription()
ParametergetFullDescription in interface Parameter<T>protected boolean validate(T obj) throws ParameterException
obj - Object to validateParameterException - when the object is not valid.public OptionID getOptionID()
ParametergetOptionID in interface Parameter<T>public String getName()
Parameterpublic String getShortDescription()
ParametergetShortDescription in interface Parameter<T>public void setShortDescription(String description)
ParametersetShortDescription in interface Parameter<T>description - the short description to be setpublic void setValue(Object obj) throws ParameterException
ParametersetValue in interface Parameter<T>obj - the option's value to be setParameterException - if the given value is not a valid value for this
         option.protected final void setValueInternal(T val)
val - Valuepublic final T getValue()
ParameterParameterization.grab(de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter<?>)
 or Parameter.isDefined() to test if getValue() will return a well-defined
 value.public Object getGivenValue()
ParameternullgetGivenValue in interface Parameter<T>public final boolean isValid(Object obj) throws ParameterException
ParameterisValid in interface Parameter<T>obj - option value to be checkedParameterException - if the given value is not a valid value for this
         option.public abstract String getSyntax()
ParameterIntParameter
 should return <int>).protected abstract T parseValue(Object obj) throws ParameterException
obj - Object to parse (may be a string representation!)ParameterException - when the object cannot be parsed.public abstract String getValueAsString()
ParameternullgetValueAsString in interface Parameter<T>public String getDefaultValueAsString()
ParametergetDefaultValueAsString in interface Parameter<T>public void addConstraint(ParameterConstraint<? super T> constraint)
ParameteraddConstraint in interface Parameter<T>constraint - Constraint to add.public void addConstraints(Collection<? extends ParameterConstraint<? super T>> cs)
cs - Constraints to add