Class ObjectNodeImpl
- 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 AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> Nested classes/interfaces inherited from interface ConfigNode
ConfigNode.ListNode, ConfigNode.NodeType, ConfigNode.ObjectNode, ConfigNode.ValueNodeModifier and TypeInterfaceDescriptionstatic interfaceConfigNode-based list of configuration values.static enumBase types of config nodes.static interfaceConfiguration node representing a hierarchical structure parsed by a suitableConfigParserif necessary.static interfaceSingle string-based configuration value.Nested classes/interfaces inherited from interface ConfigNode.ObjectNode
ConfigNode.ObjectNode.BuilderModifier and TypeInterfaceDescriptionstatic interfaceBuilder to buildConfigNode.ObjectNodeinstance. -
Method Summary
Modifier and TypeMethodDescriptionDescription of this node.entrySet()booleanhasValue()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 ObjectNodeImplwrap(ConfigNode.ObjectNode objectNode) Wraps value node into mergeable value node.static ObjectNodeImplwrap(ConfigNode.ObjectNode objectNode, Function<String, String> resolveTokenFunction) Wraps value node into mergeable value node.Methods inherited from class AbstractMap
clear, clone, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, valuesMethods inherited from interface ConfigNode.ObjectNode
nodeTypeModifier and TypeMethodDescriptiondefault ConfigNode.NodeTypenodeType()Get the type of this node.Methods inherited from interface Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
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:
entrySetin interfaceMap<String, ConfigNode>- Specified by:
entrySetin classAbstractMap<String, ConfigNode>
-
merge
Description copied from interface:MergeableNodeReturns new instance mergeable node of same type of original one that merges also with specified node.- Specified by:
mergein 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:
toStringin classAbstractMap<String, ConfigNode>
-
initDescription
Initialize diagnostics description of source of node instance.- Parameters:
description- diagnostics description- Returns:
- this instance
-
description
-
hasValue
public boolean hasValue()Description copied from interface:MergeableNodeEach 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:
hasValuein interfaceMergeableNode- Returns:
- true if this node contains a value
-
value
Description copied from interface:ConfigNodeGet the direct value of this config node. Any node type can have a direct value.- Specified by:
valuein interfaceConfigNode- Returns:
- a value if present,
emptyotherwise
-