Class SimpleAttributedConfigurationNode
- All Implemented Interfaces:
AttributedConfigurationNode,CommentedConfigurationNode,ConfigurationNode
public class SimpleAttributedConfigurationNode extends SimpleCommentedConfigurationNode implements AttributedConfigurationNode
AttributedConfigurationNode.-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedSimpleAttributedConfigurationNode(@NonNull String tagName, @Nullable Object path, @Nullable SimpleConfigurationNode parent, @NonNull ConfigurationOptions options)protectedSimpleAttributedConfigurationNode(@NonNull String tagName, @Nullable SimpleConfigurationNode parent, @NonNull SimpleConfigurationNode copyOf) -
Method Summary
Methods inherited from class ninja.leaping.configurate.commented.SimpleCommentedConfigurationNode
getComment, root, setCommentIfAbsentMethods inherited from class ninja.leaping.configurate.SimpleConfigurationNode
attachChildIfAbsent, attachIfNecessary, clear, getChild, getKey, getList, getList, getList, getList, getList, getNode, getOptions, getPath, getValue, getValue, getValue, getValue, getValue, getValue, getValueType, isVirtual, removeChild, visit, visitMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ninja.leaping.configurate.attributed.AttributedConfigurationNode
act, getCommentMethods inherited from interface ninja.leaping.configurate.commented.CommentedConfigurationNode
setCommentIfAbsentMethods inherited from interface ninja.leaping.configurate.ConfigurationNode
getBoolean, getBoolean, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getKey, getList, getList, getList, getList, getList, getList, getLong, getLong, getNode, getOptions, getPath, getString, getString, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValueType, hasListChildren, hasMapChildren, isList, isMap, isVirtual, removeChild, setValue, visit, visit, visit, visit
-
Constructor Details
-
SimpleAttributedConfigurationNode
protected SimpleAttributedConfigurationNode(@NonNull String tagName, @Nullable Object path, @Nullable SimpleConfigurationNode parent, @NonNull ConfigurationOptions options) -
SimpleAttributedConfigurationNode
protected SimpleAttributedConfigurationNode(@NonNull String tagName, @Nullable SimpleConfigurationNode parent, @NonNull SimpleConfigurationNode copyOf)
-
-
Method Details
-
root
Deprecated.UseAttributedConfigurationNode.root()insteadCreate a new node with no parent.- Returns:
- a new node
-
root
Deprecated.UseAttributedConfigurationNode.root(String)insteadCreate a new node with no parent.- Parameters:
tagName- The name of the tag to be used to represent this node- Returns:
- a new node
-
root
@Deprecated public static @NonNull SimpleAttributedConfigurationNode root(@NonNull String tagName, @NonNull ConfigurationOptions options)Deprecated.Create a new node with no parent, a specified tag name, and specific options.- Parameters:
tagName- The name of the tag to be used to represent this nodeoptions- The options to use within this node- Returns:
- a new node
-
getTagName
Description copied from interface:AttributedConfigurationNodeGets the tag name of this node.- Specified by:
getTagNamein interfaceAttributedConfigurationNode- Returns:
- The tag name
-
setTagName
Description copied from interface:AttributedConfigurationNodeSets the tag name of this node.Will have no effect when called on nodes which are direct values of a
child map, as the corresponding key is used as the tag name.- Specified by:
setTagNamein interfaceAttributedConfigurationNode- Parameters:
tagName- The name to set, cannot be null- Returns:
- this
-
addAttribute
public @NonNull SimpleAttributedConfigurationNode addAttribute(@NonNull String name, @NonNull String value)Description copied from interface:AttributedConfigurationNodeAdds an attribute to this node.- Specified by:
addAttributein interfaceAttributedConfigurationNode- Parameters:
name- The name of the attributevalue- The value of the attribute- Returns:
- this
-
removeAttribute
Description copied from interface:AttributedConfigurationNodeRemoves an attribute from this node.- Specified by:
removeAttributein interfaceAttributedConfigurationNode- Parameters:
name- The name of the attribute to remove- Returns:
- this
-
setAttributes
public @NonNull SimpleAttributedConfigurationNode setAttributes(@NonNull Map<String,String> attributes)Description copied from interface:AttributedConfigurationNodeSets the attributes of this node.- Specified by:
setAttributesin interfaceAttributedConfigurationNode- Parameters:
attributes- the attributes to set- Returns:
- this
-
hasAttributes
Description copied from interface:AttributedConfigurationNodeGets if this node has any attributes.- Specified by:
hasAttributesin interfaceAttributedConfigurationNode- Returns:
- true if this node has any attributes
-
getAttribute
Description copied from interface:AttributedConfigurationNodeGets the value of an attribute, or null if this node doesn't have the given attribute.- Specified by:
getAttributein interfaceAttributedConfigurationNode- Parameters:
name- The name of the attribute to get- Returns:
- this
-
getAttributes
Description copied from interface:AttributedConfigurationNodeGets the attributes this node has.The returned map is immutable.
- Specified by:
getAttributesin interfaceAttributedConfigurationNode- Returns:
- The map of attributes
-
isEmpty
Description copied from interface:ConfigurationNodeReturn true when this node has a null or empty value. Values that may result in this method returning true include:null- the empty string
- an empty map
- an empty list
- Any other type of empty collection
ConfigurationNode.isVirtual(). Emptiness refers to the value of this node itself, while virtuality refers to whether or not this node is attached to its parent and the rest of the configuration structure.- Specified by:
isEmptyin interfaceConfigurationNode- Overrides:
isEmptyin classSimpleConfigurationNode- Returns:
- Whether this node is empty
-
getParent
Description copied from interface:ConfigurationNodeGets the parent of this node.If this node is currently
virtual, this method's result may be inaccurate.- Specified by:
getParentin interfaceAttributedConfigurationNode- Specified by:
getParentin interfaceCommentedConfigurationNode- Specified by:
getParentin interfaceConfigurationNode- Overrides:
getParentin classSimpleCommentedConfigurationNode- Returns:
- The nodes parent
-
createNode
- Overrides:
createNodein classSimpleCommentedConfigurationNode
-
setValue
Description copied from interface:ConfigurationNodeSet this node's value to the given value.If the provided value is a
This method only accepts native types as values. If the type of a value is unknown at runtime,Collectionor aMap, it will be unwrapped into the appropriate configuration node structure.ConfigurationOptions.acceptsType(Class)will return whether or not it is a native type.- Specified by:
setValuein interfaceAttributedConfigurationNode- Specified by:
setValuein interfaceCommentedConfigurationNode- Specified by:
setValuein interfaceConfigurationNode- Overrides:
setValuein classSimpleCommentedConfigurationNode- Parameters:
value- The value to set- Returns:
- this
- See Also:
to set a value with any type conversion necessary
-
mergeValuesFrom
public @NonNull SimpleAttributedConfigurationNode mergeValuesFrom(@NonNull ConfigurationNode other)Description copied from interface:ConfigurationNodeSet all the values from the given node that are not present in this node to their values in the provided node.Map keys will be merged. Lists and scalar values will be replaced.
- Specified by:
mergeValuesFromin interfaceAttributedConfigurationNode- Specified by:
mergeValuesFromin interfaceCommentedConfigurationNode- Specified by:
mergeValuesFromin interfaceConfigurationNode- Overrides:
mergeValuesFromin classSimpleCommentedConfigurationNode- Parameters:
other- The node to merge values from- Returns:
- this
-
getNode
Description copied from interface:ConfigurationNodeGets the node at the given (relative) path, possibly traversing multiple levels of nodes.This is the main method used to navigate through the configuration.
The path parameter effectively consumes an array of keys, which locate the unique position of a given node within the structure. Each element will navigate one level down in the configration hierarchy
A node is always returned by this method. If the given node does not exist in the structure, a
virtualnode will be returned which represents the position.- Specified by:
getNodein interfaceAttributedConfigurationNode- Specified by:
getNodein interfaceCommentedConfigurationNode- Specified by:
getNodein interfaceConfigurationNode- Overrides:
getNodein classSimpleCommentedConfigurationNode- Parameters:
path- The path to fetch the node at- Returns:
- The node at the given path, possibly virtual
-
getChildrenList
Description copied from interface:ConfigurationNodeGets the "list children" attached to this node, if it has any.If this node does not
have list children, an empty list is returned. For example, if the value of this node is a map, this will return an empty result.- Specified by:
getChildrenListin interfaceAttributedConfigurationNode- Specified by:
getChildrenListin interfaceCommentedConfigurationNode- Specified by:
getChildrenListin interfaceConfigurationNode- Overrides:
getChildrenListin classSimpleCommentedConfigurationNode- Returns:
- The list children currently attached to this node
-
getChildrenMap
Description copied from interface:ConfigurationNodeGets the "map children" attached to this node, if it has any.If this node does not
have map children, an empty map returned.- Specified by:
getChildrenMapin interfaceAttributedConfigurationNode- Specified by:
getChildrenMapin interfaceCommentedConfigurationNode- Specified by:
getChildrenMapin interfaceConfigurationNode- Overrides:
getChildrenMapin classSimpleCommentedConfigurationNode- Returns:
- The map children currently attached to this node
-
getAppendedNode
Deprecated.Description copied from interface:ConfigurationNodeGets a new child node created as the next entry in the list.- Specified by:
getAppendedNodein interfaceAttributedConfigurationNode- Specified by:
getAppendedNodein interfaceCommentedConfigurationNode- Specified by:
getAppendedNodein interfaceConfigurationNode- Overrides:
getAppendedNodein classSimpleCommentedConfigurationNode- Returns:
- A new child created as the next entry in the list when it is attached
-
appendListNode
Description copied from interface:ConfigurationNodeGets a new child node created as the next entry in the list.- Specified by:
appendListNodein interfaceAttributedConfigurationNode- Specified by:
appendListNodein interfaceCommentedConfigurationNode- Specified by:
appendListNodein interfaceConfigurationNode- Overrides:
appendListNodein classSimpleCommentedConfigurationNode- Returns:
- A new child created as the next entry in the list when it is attached
-
copy
Description copied from interface:ConfigurationNodeCreates a deep copy of this node.If this node has child nodes (is a list or map), the child nodes will also be copied. This action is performed recursively.
The resultant node will (initially) contain the same value(s) as this node, and will therefore be
equal, however, changes made to the original will not be reflected in the copy, and vice versa.The actual scalar values that back the configuration will not be copied - only the node structure that forms the configuration. This is not a problem in most cases, as the scalar values stored in configurations are usually immutable. (e.g. strings, numbers, booleans).
- Specified by:
copyin interfaceAttributedConfigurationNode- Specified by:
copyin interfaceCommentedConfigurationNode- Specified by:
copyin interfaceConfigurationNode- Overrides:
copyin classSimpleCommentedConfigurationNode- Returns:
- A copy of this node
-
copy
protected @NonNull SimpleAttributedConfigurationNode copy(@Nullable SimpleConfigurationNode parent)- Overrides:
copyin classSimpleCommentedConfigurationNode
-
setComment
Description copied from interface:CommentedConfigurationNodeSets the comment for this configuration node.- Specified by:
setCommentin interfaceAttributedConfigurationNode- Specified by:
setCommentin interfaceCommentedConfigurationNode- Overrides:
setCommentin classSimpleCommentedConfigurationNode- Parameters:
comment- The comment to set. Line breaks should be represented as LFs (\n)- Returns:
- this
-
equals
- Overrides:
equalsin classSimpleCommentedConfigurationNode
-
hashCode
- Overrides:
hashCodein classSimpleCommentedConfigurationNode
-
toString
- Overrides:
toStringin classSimpleCommentedConfigurationNode
-