public class LocalizedOptionDefinition extends java.lang.Object implements OptionDefinition
Constructor and Description |
---|
LocalizedOptionDefinition(java.lang.String name,
OptionType optionType,
LocalisationBundleLoader bundleLoader) |
Modifier and Type | Method and Description |
---|---|
void |
addDependentOption(java.lang.String option)
Adds an option on whose existence the current option's applicability depends on
|
void |
addDependentOption(java.lang.String option,
java.lang.String neededValue)
Adds an option on that needs to be existent with a special value for the current option to be applicable
|
void |
addFlag(java.lang.String flagName) |
java.lang.String |
getCategory()
May return a category for this option, which may help some GUI to group options.
|
java.lang.String |
getDefaultValue()
Returns a default value for this option.
|
java.util.List<DependentOption> |
getDependentOptions()
Returns a list of options that need to be present - and optionally of some special value - for this option to be applicable
|
java.lang.String |
getDescription(java.util.Locale locale)
Returns a - maybe localized - description for this option
|
java.lang.String |
getName()
Returns the name of the option, which is used as key on option maps
|
OptionType |
getOptionType()
Returns the type of this option which determines the values that are accepted and the data type in which it is used
|
java.lang.Class<? extends ReferenceType> |
getReferenceType()
Returns a reference type if values of this option represent references to well known resources in WGA, or null if they don't
|
java.lang.String |
getTitle(java.util.Locale locale)
Returns a - maybe localized - title for this option
|
boolean |
hasFlag(java.lang.String flagName)
Returns if an option has a special flag, which may cause it to be specially treated by some functionalities
|
boolean |
isEmptyAllowed()
Returns if the option maybe empty.
|
boolean |
isExpert()
Returns if this option is an "expert option" which only should be offered in "expert mode"
|
boolean |
isOptional()
Returns if this option is "optional" i.e. it can be omitted from module options
|
void |
removeFlag(java.lang.String flagName) |
void |
setCategory(java.lang.String category)
Sets the category of this option which should be declared as
OptionCategoryDefinition to the registry |
void |
setDefaultValue(java.lang.String defaultValue)
Sets the default value of this option
|
void |
setEmptyAllowedOverride(boolean emptyAllowed)
Explicitly chooses the empty allowed setting for this option definition while overriding this setting from the option type
|
void |
setExpert(boolean expert)
Sets if this option is an expert option
|
void |
setOptional(boolean optional)
Sets if this option is optional.
|
void |
setReferenceTypeOverride(java.lang.Class<? extends ReferenceType> referenceTypeOverride)
Explicitly chooses a reference type for this option definition while overriding this setting from the option type
|
void |
validate(java.lang.String value,
java.util.Locale locale,
ValidationContext cx)
Validates the given value against the option definition
Implementations are obliged to pass the call to method
OptionType.validate(String, Locale, ValidationContext) of their OptionType internally |
public LocalizedOptionDefinition(java.lang.String name, OptionType optionType, LocalisationBundleLoader bundleLoader)
name
- The name/key of the optionoptionType
- The type of the optionbundleLoader
- The bundle loader to load localized informationpublic java.lang.String getDefaultValue()
OptionDefinition
getDefaultValue
in interface OptionDefinition
public java.lang.String getDescription(java.util.Locale locale)
OptionDefinition
getDescription
in interface OptionDefinition
public java.lang.String getName()
OptionDefinition
getName
in interface OptionDefinition
public OptionType getOptionType()
OptionDefinition
getOptionType
in interface OptionDefinition
public java.lang.String getTitle(java.util.Locale locale)
OptionDefinition
getTitle
in interface OptionDefinition
public boolean isOptional()
OptionDefinition
isOptional
in interface OptionDefinition
public void setDefaultValue(java.lang.String defaultValue)
public void setOptional(boolean optional)
public void setExpert(boolean expert)
public boolean isExpert()
OptionDefinition
isExpert
in interface OptionDefinition
public java.util.List<DependentOption> getDependentOptions()
OptionDefinition
getDependentOptions
in interface OptionDefinition
public void addDependentOption(java.lang.String option)
option
- The name of the option we depend onpublic void addDependentOption(java.lang.String option, java.lang.String neededValue)
option
- The name of the option we depend onneededValue
- The value that the option needs to havepublic java.lang.String getCategory()
OptionDefinition
OptionCategoryDefinition
containing further information. Return null if no category applies.getCategory
in interface OptionDefinition
public void setCategory(java.lang.String category)
OptionCategoryDefinition
to the registrypublic void validate(java.lang.String value, java.util.Locale locale, ValidationContext cx) throws OptionValueValidationException
OptionDefinition
OptionType.validate(String, Locale, ValidationContext)
of their OptionType
internallyvalidate
in interface OptionDefinition
value
- The value to validatelocale
- A locale which is used to choose the right language of validation error messagecx
- A validation contextOptionValueValidationException
public boolean isEmptyAllowed()
OptionDefinition
OptionType.isEmptyAllowed()
if the option definition itself does not enforce emptiness allowanceisEmptyAllowed
in interface OptionDefinition
public void setEmptyAllowedOverride(boolean emptyAllowed)
emptyAllowed
- public java.lang.Class<? extends ReferenceType> getReferenceType()
OptionDefinition
getReferenceType
in interface OptionDefinition
public void setReferenceTypeOverride(java.lang.Class<? extends ReferenceType> referenceTypeOverride)
referenceTypeOverride
- The reference type that this option should declarepublic boolean hasFlag(java.lang.String flagName)
OptionDefinition
hasFlag
in interface OptionDefinition
public void addFlag(java.lang.String flagName)
public void removeFlag(java.lang.String flagName)