public interface ConfigMergeable
Config
and
ConfigValue
. Instances of Config
and ConfigValue
can
be combined into a single new instance using the
withFallback()
method.
Do not implement this interface; it should only be implemented by the config library. Arbitrary implementations will not work because the library internals assume a specific concrete implementation. Also, this interface is likely to grow new methods over time, so third-party implementations will break.
Modifier and Type | Method and Description |
---|---|
ConfigMergeable |
withFallback(ConfigMergeable other)
Returns a new value computed by merging this value with another, with
keys in this value "winning" over the other one.
|
ConfigMergeable withFallback(ConfigMergeable other)
ConfigObject
and Config
instances do anything in this
method (they need to merge the fallback keys into themselves). All other
values just return the original value, since they automatically override
any fallback.
The semantics of merging are described in the spec for HOCON.
Note that objects do not merge "across" non-objects; if you write
object.withFallback(nonObject).withFallback(otherObject)
,
then otherObject
will simply be ignored. This is an
intentional part of how merging works. Both non-objects, and any object
which has fallen back to a non-object, block subsequent fallbacks.
other
- an object whose keys should be used if the keys are not
present in this one