public interface Config extends PropertySource
| Modifier and Type | Interface and Description |
|---|---|
static interface |
Config.Visitor<T>
Interface for a visitor visiting all key, value pairs.
|
| Modifier and Type | Method and Description |
|---|---|
<T> T |
accept(Config.Visitor<T> visitor)
Visitor pattern
|
void |
addListener(ConfigListener listener)
Register a listener that will receive a call for each property that is added, removed
or updated.
|
boolean |
containsKey(java.lang.String key) |
<T> T |
get(java.lang.Class<T> type,
java.lang.String key)
Get the property from the Decoder.
|
<T> T |
get(java.lang.Class<T> type,
java.lang.String key,
T defaultValue)
Get the property from the Decoder.
|
<T> T |
get(java.lang.reflect.Type type,
java.lang.String key)
Get the property from the Decoder.
|
<T> T |
get(java.lang.reflect.Type type,
java.lang.String key,
T defaultValue)
Get the property from the Decoder.
|
java.math.BigDecimal |
getBigDecimal(java.lang.String key) |
java.math.BigDecimal |
getBigDecimal(java.lang.String key,
java.math.BigDecimal defaultValue) |
java.math.BigInteger |
getBigInteger(java.lang.String key) |
java.math.BigInteger |
getBigInteger(java.lang.String key,
java.math.BigInteger defaultValue) |
java.lang.Boolean |
getBoolean(java.lang.String key) |
java.lang.Boolean |
getBoolean(java.lang.String key,
java.lang.Boolean defaultValue) |
java.lang.Byte |
getByte(java.lang.String key) |
java.lang.Byte |
getByte(java.lang.String key,
java.lang.Byte defaultValue) |
Decoder |
getDecoder() |
java.lang.Double |
getDouble(java.lang.String key) |
java.lang.Double |
getDouble(java.lang.String key,
java.lang.Double defaultValue) |
java.lang.Float |
getFloat(java.lang.String key) |
java.lang.Float |
getFloat(java.lang.String key,
java.lang.Float defaultValue) |
java.lang.Integer |
getInteger(java.lang.String key) |
java.lang.Integer |
getInteger(java.lang.String key,
java.lang.Integer defaultValue) |
java.util.Iterator<java.lang.String> |
getKeys()
Deprecated.
Use
keys() instead. |
java.util.Iterator<java.lang.String> |
getKeys(java.lang.String prefix) |
java.util.List<?> |
getList(java.lang.String key)
Get the property as a list.
|
<T> java.util.List<T> |
getList(java.lang.String key,
java.lang.Class<T> type) |
java.util.List<?> |
getList(java.lang.String key,
java.util.List<?> defaultValue) |
java.lang.Long |
getLong(java.lang.String key)
Parse the property as a long.
|
java.lang.Long |
getLong(java.lang.String key,
java.lang.Long defaultValue)
Parse the property as a long but return a default if no property defined or the
property cannot be parsed successfully.
|
Config |
getPrefixedView(java.lang.String prefix) |
Config |
getPrivateView() |
default java.util.Optional<java.lang.Object> |
getProperty(java.lang.String key)
Get the raw property value.
|
default java.util.Optional<java.lang.Object> |
getPropertyUninstrumented(java.lang.String key)
Get the raw property value, but do not record any usage data.
|
java.lang.Object |
getRawProperty(java.lang.String key)
Return the raw, un-interpolated, object associated with a key.
|
default java.lang.Object |
getRawPropertyUninstrumented(java.lang.String key)
Returns the raw object associated with a key, but without reporting on its usage.
|
java.lang.Short |
getShort(java.lang.String key) |
java.lang.Short |
getShort(java.lang.String key,
java.lang.Short defaultValue) |
java.lang.String |
getString(java.lang.String key) |
java.lang.String |
getString(java.lang.String key,
java.lang.String defaultValue) |
StrInterpolator |
getStrInterpolator() |
default boolean |
instrumentationEnabled()
Returns whether a config is recording usage on the standard property endpoints.
|
default java.lang.Iterable<java.lang.String> |
keys()
Returns an unmodifiable Iterable of all property names owned by this config.
|
default void |
recordUsage(PropertyDetails propertyDetails) |
void |
removeListener(ConfigListener listener)
Remove a previously registered listener.
|
default java.lang.String |
resolve(java.lang.String value) |
default <T> T |
resolve(java.lang.String value,
java.lang.Class<T> type) |
void |
setDecoder(Decoder decoder)
Set the Decoder used by get() to parse any type.
|
void |
setStrInterpolator(StrInterpolator interpolator)
Set the interpolator to be used.
|
forEachProperty, forEachPropertyUninstrumented, getName, isEmptyvoid addListener(ConfigListener listener)
listener - void removeListener(ConfigListener listener)
listener - java.lang.Object getRawProperty(java.lang.String key)
key - default java.lang.Object getRawPropertyUninstrumented(java.lang.String key)
key - default java.util.Optional<java.lang.Object> getProperty(java.lang.String key)
PropertySourcegetProperty in interface PropertySourcedefault java.util.Optional<java.lang.Object> getPropertyUninstrumented(java.lang.String key)
PropertySourcegetPropertyUninstrumented in interface PropertySourcedefault void recordUsage(PropertyDetails propertyDetails)
default boolean instrumentationEnabled()
java.lang.Long getLong(java.lang.String key)
key - java.lang.Long getLong(java.lang.String key,
java.lang.Long defaultValue)
key - defaultValue - java.lang.String getString(java.lang.String key)
java.lang.String getString(java.lang.String key,
java.lang.String defaultValue)
java.lang.Double getDouble(java.lang.String key)
java.lang.Double getDouble(java.lang.String key,
java.lang.Double defaultValue)
java.lang.Integer getInteger(java.lang.String key)
java.lang.Integer getInteger(java.lang.String key,
java.lang.Integer defaultValue)
java.lang.Boolean getBoolean(java.lang.String key)
java.lang.Boolean getBoolean(java.lang.String key,
java.lang.Boolean defaultValue)
java.lang.Short getShort(java.lang.String key)
java.lang.Short getShort(java.lang.String key,
java.lang.Short defaultValue)
java.math.BigInteger getBigInteger(java.lang.String key)
java.math.BigInteger getBigInteger(java.lang.String key,
java.math.BigInteger defaultValue)
java.math.BigDecimal getBigDecimal(java.lang.String key)
java.math.BigDecimal getBigDecimal(java.lang.String key,
java.math.BigDecimal defaultValue)
java.lang.Float getFloat(java.lang.String key)
java.lang.Float getFloat(java.lang.String key,
java.lang.Float defaultValue)
java.lang.Byte getByte(java.lang.String key)
java.lang.Byte getByte(java.lang.String key,
java.lang.Byte defaultValue)
java.util.List<?> getList(java.lang.String key)
key - <T> java.util.List<T> getList(java.lang.String key,
java.lang.Class<T> type)
java.util.List<?> getList(java.lang.String key,
java.util.List<?> defaultValue)
<T> T get(java.lang.Class<T> type,
java.lang.String key)
type - key - <T> T get(java.lang.Class<T> type,
java.lang.String key,
T defaultValue)
type - key - <T> T get(java.lang.reflect.Type type,
java.lang.String key)
Use the utility methods in ArchaiusType to get the types for lists, sets and maps.
<T> T get(java.lang.reflect.Type type,
java.lang.String key,
T defaultValue)
Use the utility methods in ArchaiusType to get the types for lists, sets and maps.
boolean containsKey(java.lang.String key)
key - @Deprecated java.util.Iterator<java.lang.String> getKeys()
keys() instead.default java.lang.Iterable<java.lang.String> keys()
The default in this interface simply returns a thunk call to getKeys(). Implementations are
encouraged to provide their own version. The simplest approach, if the implementation has a Map
or similar as its backing store, is to return an equivalent to
Collections.unmodifiableSet(map.keySet()).
java.util.Iterator<java.lang.String> getKeys(java.lang.String prefix)
Config getPrefixedView(java.lang.String prefix)
prefix - getPrivateView()Config getPrivateView()
Decoder,
StrInterpolator, and ConfigListeners that will NOT be shared with the original config. Updates to
the underlying config's entries WILL be visible and will generate events on any registered listener.void setStrInterpolator(StrInterpolator interpolator)
interpolator - getPrivateView()StrInterpolator getStrInterpolator()
void setDecoder(Decoder decoder)
decoder - getPrivateView()Decoder getDecoder()
<T> T accept(Config.Visitor<T> visitor)
visitor - default java.lang.String resolve(java.lang.String value)
default <T> T resolve(java.lang.String value,
java.lang.Class<T> type)