public interface ConfigSourceRuntime
The runtime of a config source. For a single
Config
, there is one source runtime for each configured
config source.-
Method Summary
Modifier and TypeMethodDescriptionDescription of the underlying config source.boolean
isLazy()
If a config source is lazy, itsload()
method always returns empty and you must usenode(String)
methods to retrieve its values.load()
Load the config source if it is eager (such asParsableSource
orNodeConfigSource
.Get a single config node based on the key.void
onChange
(BiConsumer<String, ConfigNode> change) Change support for a runtime.
-
Method Details
-
onChange
Change support for a runtime.- Parameters:
change
- change listener
-
load
Optional<ConfigNode.ObjectNode> load()Load the config source if it is eager (such asParsableSource
orNodeConfigSource
.For
LazyConfigSource
, this method may return an empty optional (if no key was yet requested), or a node with currently known keys and values.- Returns:
- loaded data
-
node
Get a single config node based on the key. Use this method if you are interested in a specific key, as it works both for eager and lazy config sources.- Parameters:
key
- key of the node to retrieve- Returns:
- value on the key, or empty if not present
-
description
String description()Description of the underlying config source.- Returns:
- description of the source
-
isLazy
boolean isLazy()If a config source is lazy, itsload()
method always returns empty and you must usenode(String)
methods to retrieve its values.- Returns:
true
if the underlying config source cannot load whole configuration tree
-