T
- the type of the nodes this handler deals withpublic interface NodeHandler<T>
Definition of an interface for accessing the data of a configuration node.
Hierarchical configurations can deal with arbitrary node structures. In order
to obtain information about a specific node object, a so-called
NodeHandler
is used. The handler provides a number of methods for
querying the internal state of a node in a read-only way.
Modifier and Type | Method and Description |
---|---|
Set<String> |
getAttributes(T node)
Returns an unmodifiable set with the names of all attributes of the
specified node.
|
Object |
getAttributeValue(T node,
String name)
Returns the value of the specified attribute from the given node.
|
T |
getChild(T node,
int index)
Returns the child with the given index of the specified node.
|
List<T> |
getChildren(T node)
Returns an unmodifiable list with all children of the specified node.
|
List<T> |
getChildren(T node,
String name)
Returns an unmodifiable list of all children of the specified node with
the given name.
|
int |
getChildrenCount(T node,
String name)
Returns the number of children of the specified node with the given name.
|
<C> List<T> |
getMatchingChildren(T node,
NodeMatcher<C> matcher,
C criterion)
Returns an unmodifiable list of all children of the specified node which
are matched by the passed in
NodeMatcher against the provided
criterion. |
<C> int |
getMatchingChildrenCount(T node,
NodeMatcher<C> matcher,
C criterion)
Returns the number of children of the specified node which are matched by
the given
NodeMatcher . |
T |
getParent(T node)
Returns the parent of the specified node.
|
T |
getRootNode()
Returns the root node of the underlying hierarchy.
|
Object |
getValue(T node)
Returns the value of the specified node.
|
boolean |
hasAttributes(T node)
Returns a flag whether the passed in node has any attributes.
|
int |
indexOfChild(T parent,
T child)
Returns the index of the given child node in the list of children of its
parent.
|
boolean |
isDefined(T node)
Checks whether the specified node is defined.
|
String |
nodeName(T node)
Returns the name of the specified node
|
String nodeName(T node)
node
- the nodeObject getValue(T node)
node
- the nodeT getParent(T node)
node
- the nodeList<T> getChildren(T node)
node
- the nodeList<T> getChildren(T node, String name)
node
- the nodename
- the name of the desired child nodes<C> List<T> getMatchingChildren(T node, NodeMatcher<C> matcher, C criterion)
NodeMatcher
against the provided
criterion. This method allows for advanced queries on a node's children.C
- the type of the criterionnode
- the nodematcher
- the NodeMatcher
defining filter criteriacriterion
- the criterion to be matched against; this object is
passed to the NodeMatcher
T getChild(T node, int index)
node
- the nodeindex
- the index (0-based)int indexOfChild(T parent, T child)
getChild(Object, int)
. This method returns 0 if the given node
is the first child node with this name, 1 for the second child node and
so on. If the node has no parent node or if it is an attribute, -1 is
returned.parent
- the parent nodechild
- a child node whose index is to be retrievedint getChildrenCount(T node, String name)
node
- the nodename
- the name of the children in question (can be null for
all children)<C> int getMatchingChildrenCount(T node, NodeMatcher<C> matcher, C criterion)
NodeMatcher
. This is a more generic version of
getChildrenCount(Object, String)
. It allows checking for
arbitrary filter conditions.C
- the type of the criterionnode
- the nodematcher
- the NodeMatcher
criterion
- the criterion to be passed to the NodeMatcher
Set<String> getAttributes(T node)
node
- the nodeboolean hasAttributes(T node)
node
- the nodeObject getAttributeValue(T node, String name)
NodeHandler
supports attributes with multiple values,
result might be a collection.node
- the nodename
- the name of the attributeboolean isDefined(T node)
node
- the node to testT getRootNode()
Copyright © 2001–2020 The Apache Software Foundation. All rights reserved.