Interface Option

All Superinterfaces:
DescriptionAccessor, org.refcodes.ontology.EnumTerm, EnvironmentVariableNameAccessor, NameAccessor, Setting, SystemPropertyNameAccessor, org.refcodes.ontology.Term, TypeAccessor, org.refcodes.ontology.UnsafeConcept, org.refcodes.ontology.UnsafeTaxon
All Known Implementing Classes:
DiagnosticOption

The Option type extends the Setting type and describes enumerations representing well known and normalized (hierarchical) configuration options for subclasses of the Options container.

Beyond looking up Option elements within the Options taxonomy, Option elements can also resolve from Java's system properties and the system's environment variables.

Environment variable names as well as system property names are derived from Enum.name() and can by overridden by overwriting the getEnvironmentVariableName() and getSystemPropertyName() methods.

A subclass of the Options class typically defines an enumeration implementing this interface and passes that enumeration to the (super) Options(Options.Builder, Class) constructor. This enables type safe access to known options and enriches diagnostic output such as produced by the Options.toSchema() method.