Class PrefixedConfigSource
java.lang.Object
io.helidon.config.PrefixedConfigSource
- All Implemented Interfaces:
ConfigSource, EventConfigSource, NodeConfigSource, Source, Supplier<ConfigSource>
public final class PrefixedConfigSource
extends Object
implements ConfigSource, NodeConfigSource, EventConfigSource
ConfigSource implementation wraps another config source and add key prefix to original one.
Only supports "eager" config sources, such as ParsableSource
and NodeConfigSource.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface Source
Source.Builder<B>Modifier and TypeInterfaceDescriptionstatic interfaceSource.Builder<B extends Source.Builder<B>>Configurable options of aSource. -
Method Summary
Modifier and TypeMethodDescriptionstatic PrefixedConfigSourceCreate a prefixed config source from meta configuration.static PrefixedConfigSourcecreate(String key, ConfigSource source) Create a new prefixed config source.Short, human-readable summary referring to the underlying source.booleanexists()If the underlying data exist at this time.voidinit(ConfigContext context) Initialize the config source with aConfigContext.load()Loads the underlying source data.voidonChange(BiConsumer<String, ConfigNode> changedNode) Register a change listener.booleanoptional()Whether this source is optional.Retry policy configured on this config source.voidStops background change support tasks associated with this source.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ConfigSource
get
-
Method Details
-
create
Create a prefixed config source from meta configuration. The meta configuration must contain the configuration key "key" and meta configuration of another config source to be prefixed with the key.- Parameters:
metaConfig- meta configuration- Returns:
- a new prefixed config source
-
create
Create a new prefixed config source.- Parameters:
key- prefix keysource- wrapped source- Returns:
- a new prefixed config source
-
init
Description copied from interface:ConfigSourceInitialize the config source with aConfigContext.The method is executed during
Configbootstrapping byConfig.Builder.- Specified by:
initin interfaceConfigSource- Parameters:
context- a config context
-
description
Description copied from interface:SourceShort, human-readable summary referring to the underlying source.For example, a file path or a URL or any other information that helps the user recognize the underlying origin of the data this
Sourceprovides.Default is the implementation class simple name with any
"Source"suffix removed.- Specified by:
descriptionin interfaceSource- Returns:
- description of the source
-
load
Description copied from interface:NodeConfigSourceLoads the underlying source data. This method is only called when the sourceSource.exists().The method can be invoked repeatedly, for example during retries.
- Specified by:
loadin interfaceNodeConfigSource- Returns:
- An instance of
Tas read from the underlying origin of the data (if it exists) - Throws:
ConfigException- in case of errors loading from the underlying origin
-
onChange
Description copied from interface:EventConfigSourceRegister a change listener.- Specified by:
onChangein interfaceEventConfigSource- Parameters:
changedNode- the key and node of the configuration that changed. This may be the whole config tree, or a specific node depending on how fine grained the detection mechanism is. To notify of a whole node being changed, use empty string as a key
-
stopChangeSupport
public void stopChangeSupport()Description copied from interface:EventConfigSourceStops background change support tasks associated with this source.The source remains usable after this method returns.
- Specified by:
stopChangeSupportin interfaceEventConfigSource
-
exists
-
retryPolicy
Description copied from interface:SourceRetry policy configured on this config source.- Specified by:
retryPolicyin interfaceSource- Returns:
- configured retry policy
-
optional
-