Class EnumParameter<E extends java.lang.Enum<E>>
- java.lang.Object
 - 
- elki.utilities.optionhandling.parameters.AbstractParameter<EnumParameter<E>,E>
 - 
- elki.utilities.optionhandling.parameters.EnumParameter<E>
 
 
 
- 
- Type Parameters:
 E- Enum type
- All Implemented Interfaces:
 Parameter<E>
public class EnumParameter<E extends java.lang.Enum<E>> extends AbstractParameter<EnumParameter<E>,E>
Parameter class for a parameter specifying an enum type.Usage:
// Enum declaration. enum MyEnum { VALUE1, VALUE2 }; // Parameter value holder. MyEnum myEnumParameter; // ... // Parameterization. EnumParameter<MyEnum> param = new EnumParameter<MyEnum>(ENUM_PROPERTY_ID, MyEnum.class); // OR EnumParameter<MyEnum> param = new EnumParameter<MyEnum>(ENUM_PROPERTY_ID, MyEnum.class, MyEnum.VALUE1); // OR EnumParameter<MyEnum> param = new EnumParameter<MyEnum>(ENUM_PROPERTY_ID, MyEnum.class, true); if(config.grab(param)) { myEnumParameter = param.getValue(); }- Since:
 - 0.4.0
 - Author:
 - Florian Nuecke
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected java.lang.Class<E>enumClassReference to the actual enum type, for T.valueOf().- 
Fields inherited from class elki.utilities.optionhandling.parameters.AbstractParameter
constraints, defaultValue, givenValue, optionalParameter, optionid 
 - 
 
- 
Constructor Summary
Constructors Constructor Description EnumParameter(OptionID optionID, java.lang.Class<E> enumClass)Constructs an enum parameter with the given optionID, constraints and default value.EnumParameter(OptionID optionID, java.lang.Class<E> enumClass, E defaultValue)Constructs an enum parameter with the given optionID, constraints and default value. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringBuilderdescribeValues(java.lang.StringBuilder buf)Describe the valid values.java.util.Collection<java.lang.String>getPossibleValues()Get a list of possible values for this enum parameter.java.lang.StringgetSyntax()Returns a string representation of the parameter's type (e.g., anIntParametershould return<int>).java.lang.StringgetValueAsString()Get the value as string.booleangrab(Parameterization config, java.util.function.Consumer<E> consumer)Get the parameter.private java.lang.StringjoinEnumNames(java.lang.String separator)Utility method for merging possible values into a string for informational messages.protected EparseValue(java.lang.Object obj)Parse a given value into the destination type.- 
Methods inherited from class elki.utilities.optionhandling.parameters.AbstractParameter
addConstraint, getConstraints, getDefaultValue, getDefaultValueAsString, getOptionID, getValue, hasDefaultValue, isDefined, isOptional, isValid, setDefaultValue, setOptional, setValue, setValueInternal, tookDefaultValue, tryDefaultValue, validate 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
EnumParameter
public EnumParameter(OptionID optionID, java.lang.Class<E> enumClass, E defaultValue)
Constructs an enum parameter with the given optionID, constraints and default value.- Parameters:
 optionID- the unique id of the parameterdefaultValue- the default value of the parameter
 
 - 
 
- 
Method Detail
- 
getSyntax
public java.lang.String getSyntax()
Description copied from interface:ParameterReturns a string representation of the parameter's type (e.g., anIntParametershould return<int>).- Returns:
 - a string representation of the parameter's type
 
 
- 
parseValue
protected E parseValue(java.lang.Object obj) throws ParameterException
Description copied from class:AbstractParameterParse a given value into the destination type.- Specified by:
 parseValuein classAbstractParameter<EnumParameter<E extends java.lang.Enum<E>>,E extends java.lang.Enum<E>>- Parameters:
 obj- Object to parse (may be a string representation!)- Returns:
 - Parsed object
 - Throws:
 ParameterException- when the object cannot be parsed.
 
- 
getValueAsString
public java.lang.String getValueAsString()
Description copied from interface:ParameterGet the value as string. May returnnull- Returns:
 - Value as string
 
 
- 
describeValues
public java.lang.StringBuilder describeValues(java.lang.StringBuilder buf)
Description copied from interface:ParameterDescribe the valid values.- Specified by:
 describeValuesin interfaceParameter<E extends java.lang.Enum<E>>- Overrides:
 describeValuesin classAbstractParameter<EnumParameter<E extends java.lang.Enum<E>>,E extends java.lang.Enum<E>>- Parameters:
 buf- Buffer to append to- Returns:
 - Buffer
 
 
- 
getPossibleValues
public java.util.Collection<java.lang.String> getPossibleValues()
Get a list of possible values for this enum parameter.- Returns:
 - list of strings representing possible enum values.
 
 
- 
joinEnumNames
private java.lang.String joinEnumNames(java.lang.String separator)
Utility method for merging possible values into a string for informational messages.- Parameters:
 separator- char sequence to use as a separator for enum values.- Returns:
 {VAL1}{separator}{VAL2}{separator}...
 
- 
grab
public boolean grab(Parameterization config, java.util.function.Consumer<E> consumer)
Get the parameter.- Parameters:
 config- Parameterizationconsumer- Output consumer- Returns:
 trueif valid
 
 - 
 
 -