C
- Class typepublic class ClassParameter<C> extends Parameter<Class<?>,Class<? extends C>>
Modifier and Type | Field and Description |
---|---|
static String |
FACTORY_POSTFIX |
protected Class<C> |
restrictionClass
The restriction class for this class parameter.
|
constraints, defaultValue, givenValue, optionalParameter, optionid, shortDescription
Constructor and Description |
---|
ClassParameter(OptionID optionID,
Class<?> restrictionClass)
Constructs a class parameter with the given optionID, and restriction
class.
|
ClassParameter(OptionID optionID,
Class<?> restrictionClass,
boolean optional)
Constructs a class parameter with the given optionID, restriction class,
and optional flag.
|
ClassParameter(OptionID optionID,
Class<?> restrictionClass,
Class<?> defaultValue)
Constructs a class parameter with the given optionID, restriction class,
and default value.
|
Modifier and Type | Method and Description |
---|---|
static String |
canonicalClassName(Class<?> c,
Class<?> parent)
Get the "simple" form of a class name.
|
static String |
canonicalClassName(Class<?> c,
Package pkg,
String postfix)
Get the "simple" form of a class name.
|
String |
getDefaultValueAsString()
Get the default value as string.
|
IterableIterator<Class<?>> |
getKnownImplementations()
Get an iterator over all known implementations of the class restriction.
|
Class<C> |
getRestrictionClass()
Returns the restriction class of this class parameter.
|
String[] |
getRestrictionClasses()
Returns the class names allowed according to the restriction class of this
class parameter.
|
String |
getSyntax()
Returns a string representation of the parameter's type.
|
String |
getValueAsString()
Get the value as string.
|
String |
getValuesDescription()
Return a description of known valid classes.
|
boolean |
hasValuesDescription()
This class sometimes provides a list of value descriptions.
|
C |
instantiateClass(Parameterization config)
Returns a new instance for the value (i.e., the class name) of this class
parameter.
|
protected Class<? extends C> |
parseValue(Object obj)
Parse a given value into the destination type.
|
String |
restrictionString()
Provides a description string listing all classes for the given superclass
or interface as specified in the properties.
|
boolean |
validate(Class<? extends C> obj)
Checks if the given parameter value is valid for this ClassParameter.
|
addConstraint, getDefaultValue, getFullDescription, getGivenValue, getName, getOptionID, getShortDescription, getValue, hasDefaultValue, isDefined, isOptional, isValid, setDefaultValue, setOptional, setShortDescription, setValue, setValueInternal, tookDefaultValue, tryDefaultValue, useDefaultValue
public static final String FACTORY_POSTFIX
public ClassParameter(OptionID optionID, Class<?> restrictionClass, Class<?> defaultValue)
optionID
- the unique id of the optionrestrictionClass
- the restriction class of this class parameterdefaultValue
- the default value of this class parameterpublic ClassParameter(OptionID optionID, Class<?> restrictionClass, boolean optional)
optionID
- the unique id of the optionrestrictionClass
- the restriction class of this class parameteroptional
- specifies if this parameter is an optional parameterprotected Class<? extends C> parseValue(Object obj) throws ParameterException
parseValue
in class Parameter<Class<?>,Class<? extends C>>
obj
- Object to parse (may be a string representation!)ParameterException
- when the object cannot be parsed.public boolean validate(Class<? extends C> obj) throws ParameterException
public String getSyntax()
public boolean hasValuesDescription()
hasValuesDescription
in class Parameter<Class<?>,Class<? extends C>>
Parameter.hasValuesDescription()
public String getValuesDescription()
getValuesDescription
in class Parameter<Class<?>,Class<? extends C>>
Parameter.getValuesDescription()
public String getValueAsString()
Parameter
null
getValueAsString
in class Parameter<Class<?>,Class<? extends C>>
public C instantiateClass(Parameterization config)
config
- Parameterization to use (if Parameterizable))public Class<C> getRestrictionClass()
public IterableIterator<Class<?>> getKnownImplementations()
public String[] getRestrictionClasses()
public String restrictionString()
public static String canonicalClassName(Class<?> c, Package pkg, String postfix)
c
- Classpkg
- Packagepostfix
- Postfix to strippublic static String canonicalClassName(Class<?> c, Class<?> parent)
c
- Class nameparent
- Parent/restriction class (to get package name to strip)