- All Implemented Interfaces:
MergeableNode
,ConfigNode
,ConfigNode.ObjectNode
,Map<String,
ConfigNode>
public class ObjectNodeImpl
extends AbstractMap<String,ConfigNode>
implements ConfigNode.ObjectNode, MergeableNode
Implements
ConfigNode.ObjectNode
.-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> Nested classes/interfaces inherited from interface io.helidon.config.spi.ConfigNode
ConfigNode.ListNode, ConfigNode.NodeType, ConfigNode.ObjectNode, ConfigNode.ValueNode
Nested classes/interfaces inherited from interface io.helidon.config.spi.ConfigNode.ObjectNode
ConfigNode.ObjectNode.Builder
-
Method Summary
Modifier and TypeMethodDescriptionDescription of this node.entrySet()
boolean
hasValue()
Each node may have a direct value, and in addition may be an object node or a list node.initDescription
(String description) Initialize diagnostics description of source of node instance.merge
(MergeableNode node) Returns new instance mergeable node of same type of original one that merges also with specified node.toString()
value()
Get the direct value of this config node.static ObjectNodeImpl
wrap
(ConfigNode.ObjectNode objectNode) Wraps value node into mergeable value node.static ObjectNodeImpl
wrap
(ConfigNode.ObjectNode objectNode, Function<String, String> resolveTokenFunction) Wraps value node into mergeable value node.Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.helidon.config.spi.ConfigNode.ObjectNode
nodeType
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
Method Details
-
wrap
Wraps value node into mergeable value node.- Parameters:
objectNode
- original node- Returns:
- new instance of mergeable node or original node if already was mergeable.
-
wrap
public static ObjectNodeImpl wrap(ConfigNode.ObjectNode objectNode, Function<String, String> resolveTokenFunction) Wraps value node into mergeable value node.- Parameters:
objectNode
- original noderesolveTokenFunction
- a token resolver- Returns:
- new instance of mergeable node or original node if already was mergeable.
-
entrySet
- Specified by:
entrySet
in interfaceMap<String,
ConfigNode> - Specified by:
entrySet
in classAbstractMap<String,
ConfigNode>
-
merge
Description copied from interface:MergeableNode
Returns new instance mergeable node of same type of original one that merges also with specified node.- Specified by:
merge
in interfaceMergeableNode
- Parameters:
node
- node to be used to merge with- Returns:
- new instance of mergeable node that combines original node with specified one
-
toString
- Overrides:
toString
in classAbstractMap<String,
ConfigNode>
-
initDescription
Initialize diagnostics description of source of node instance.- Parameters:
description
- diagnostics description- Returns:
- this instance
-
description
Description of this node.- Returns:
- node description
-
hasValue
public boolean hasValue()Description copied from interface:MergeableNode
Each node may have a direct value, and in addition may be an object node or a list node. This method returns true for any node with direct value.- Specified by:
hasValue
in interfaceMergeableNode
- Returns:
- true if this node contains a value
-
value
Description copied from interface:ConfigNode
Get the direct value of this config node. Any node type can have a direct value.- Specified by:
value
in interfaceConfigNode
- Returns:
- a value if present,
empty
otherwise
-