java.lang.Object
io.helidon.config.AbstractSource
io.helidon.config.AbstractConfigSource
io.helidon.config.MapConfigSource
- All Implemented Interfaces:
ConfigSource
,NodeConfigSource
,PollableSource<Map<?,
,?>> Source
,Supplier<ConfigSource>
- Direct Known Subclasses:
ConfigSources.SystemPropertiesConfigSource
public class MapConfigSource
extends AbstractConfigSource
implements ConfigSource, NodeConfigSource, PollableSource<Map<?,?>>
ConfigSource
implementation based on Map<String, String>
.
Map key format must conform to Config key
format.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Fluent API builder forMapConfigSource
.static class
An abstract fluent API builder forMapConfigSource
. -
Method Summary
Modifier and TypeMethodDescriptionstatic MapConfigSource.Builder
builder()
Create a new fluent API builder.static MapConfigSource
Create a new config source from the provided map.static MapConfigSource
create
(Properties properties) Create a new config source from the provided properties.boolean
isModified
(Map<?, ?> stamp) This method is invoked to check if this source has changed.load()
Loads the underlying source data.A polling strategy of this source, if it implementsPollableSource
and has one configured.protected String
uid()
Returns universal id of source to be used to constructAbstractSource.description()
.Methods inherited from class io.helidon.config.AbstractConfigSource
mediaType, parser, toString
Methods inherited from class io.helidon.config.AbstractSource
changeWatcher, description, optional, retryPolicy
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.helidon.config.spi.ConfigSource
get, init
Methods inherited from interface io.helidon.config.spi.Source
description, exists, optional, retryPolicy
-
Method Details
-
builder
Create a new fluent API builder.- Returns:
- a new builder instance
-
create
Create a new config source from the provided map.- Parameters:
map
- config properties- Returns:
- a new map config source
-
create
Create a new config source from the provided properties.- Parameters:
properties
- properties to serve as source of data- Returns:
- a new map config source
-
isModified
Description copied from interface:PollableSource
This method is invoked to check if this source has changed.- Specified by:
isModified
in interfacePollableSource<Map<?,
?>> - Parameters:
stamp
- the stamp of the last loaded content- Returns:
true
if the current data of this config source differ from the loaded data, including cases when the source has disappeared
-
pollingStrategy
Description copied from class:AbstractSource
A polling strategy of this source, if it implementsPollableSource
and has one configured.- Specified by:
pollingStrategy
in interfacePollableSource<Map<?,
?>> - Overrides:
pollingStrategy
in classAbstractSource
- Returns:
- polling strategy if any configured
-
load
Description copied from interface:NodeConfigSource
Loads 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:
load
in interfaceNodeConfigSource
- Returns:
- An instance of
T
as read from the underlying origin of the data (if it exists) - Throws:
ConfigException
- in case of errors loading from the underlying origin
-
uid
Description copied from class:AbstractSource
Returns universal id of source to be used to constructAbstractSource.description()
.- Overrides:
uid
in classAbstractSource
- Returns:
- universal id of source
-