public interface ConfigKey<T>
Two ConfigKeys should be considered equal if they have the same FQN.
Modifier and Type | Interface and Description |
---|---|
static interface |
ConfigKey.HasConfigKey<T>
Interface for elements which want to be treated as a config key without actually being one
(e.g.
|
Modifier and Type | Method and Description |
---|---|
<any> |
getConstraint() |
T |
getDefaultValue()
Returns the default value of the configuration parameter.
|
java.util.Collection<java.lang.String> |
getDeprecatedNames()
Returns deprecated names that will could also be used, but that are discouraged and will
likely not be supported for the given config key in future versions.
|
java.lang.String |
getDescription()
Returns the description of the configuration parameter, for display.
|
ConfigInheritance |
getInheritance()
Deprecated.
since 0.10.0 use
getInheritanceByContext() |
java.util.Map<ConfigInheritance.ConfigInheritanceContext,ConfigInheritance> |
getInheritanceByContext() |
ConfigInheritance |
getInheritanceByContext(ConfigInheritance.ConfigInheritanceContext context) |
java.lang.String |
getName()
Returns the name of the configuration parameter, in a dot-separated namespace (FQN).
|
java.util.Collection<java.lang.String> |
getNameParts()
Deprecated.
since 0.12.0; use
getName() |
ConfigInheritance |
getParentInheritance()
Deprecated.
since 0.10.0 use
getInheritanceByContext() |
java.lang.Class<? super T> |
getType()
Returns the type of the configuration parameter data.
|
ConfigInheritance |
getTypeInheritance()
Deprecated.
since 0.10.0 use
getInheritanceByContext() |
java.lang.String |
getTypeName()
Returns the name of of the configuration parameter data type, as a
String . |
<any> |
getTypeToken()
Returns the Guava TypeToken, including info on generics.
|
boolean |
hasDefaultValue()
Returns true if a default configuration value has been set.
|
boolean |
isReconfigurable() |
boolean |
isValueValid(T value) |
java.lang.String getDescription()
java.lang.String getName()
java.util.Collection<java.lang.String> getDeprecatedNames()
@Deprecated java.util.Collection<java.lang.String> getNameParts()
getName()
Collection
.<any> getTypeToken()
java.lang.Class<? super T> getType()
This returns a "super" of T only in the case where T is generified, and in such cases it returns the Class instance for the unadorned T --- i.e. for List<String> this returns Class<List> --- this is of course because there is no actual Class<List<String>> instance.
java.lang.String getTypeName()
String
.T getDefaultValue()
boolean hasDefaultValue()
boolean isReconfigurable()
@Deprecated @Nullable ConfigInheritance getTypeInheritance()
getInheritanceByContext()
null
for the default in any context.@Deprecated @Nullable ConfigInheritance getParentInheritance()
getInheritanceByContext()
null
for the default in any context.@Deprecated @Nullable ConfigInheritance getInheritance()
getInheritanceByContext()
null
for the default in any context.@Nullable ConfigInheritance getInheritanceByContext(ConfigInheritance.ConfigInheritanceContext context)
ConfigInheritance.ConfigInheritanceContext
java.util.Map<ConfigInheritance.ConfigInheritanceContext,ConfigInheritance> getInheritanceByContext()
ConfigInheritance.ConfigInheritanceContext
instances.
Implementations may have a simple map, whereas others could be more sophisticated.
#getInheritanceByContext(ConfigInheritanceContext)
may be preferred if inheritance contexts are complex
(but usually, and in brooklyn, they aren't).@Nonnull <any> getConstraint()
boolean isValueValid(T value)
value
- The value to testconstraints
on this key.