public class NodeSelector extends Object
A class for selecting a specific node based on a key or a set of keys.
An instance of this class is initialized with the key of a node. It is also possible to concatenate multiple keys -
e.g. if a sub key is to be constructed from another sub key. NodeSelector
provides the select()
method which evaluates the wrapped keys on a specified root node and returns the resulting unique target node. The
class expects that the key(s) stored in an instance select exactly one target node. If this is not the case, result
is null indicating that the selection criteria are not sufficient.
Implementation node: Instances of this class are immutable. They can be shared between arbitrary components.
Constructor and Description |
---|
NodeSelector(String key)
Creates a new instance of
NodeSelector and initializes it with the key to the target node. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Compares this object with another one.
|
int |
hashCode()
Returns a hash code for this object.
|
ImmutableNode |
select(ImmutableNode root,
NodeKeyResolver<ImmutableNode> resolver,
NodeHandler<ImmutableNode> handler)
Applies this
NodeSelector on the specified root node. |
NodeSelector |
subSelector(String subKey)
Creates a sub
NodeSelector object which uses the key(s) of this selector plus the specified key as selection
criteria. |
String |
toString()
Returns a string representation for this object.
|
public NodeSelector(String key)
NodeSelector
and initializes it with the key to the target node.key
- the keypublic ImmutableNode select(ImmutableNode root, NodeKeyResolver<ImmutableNode> resolver, NodeHandler<ImmutableNode> handler)
NodeSelector
on the specified root node. This method applies the selection criteria stored in
this object and tries to determine a single target node. If this is successful, the target node is returned.
Otherwise, result is null.root
- the root node on which to apply this selectorresolver
- the NodeKeyResolver
handler
- the NodeHandler
public NodeSelector subSelector(String subKey)
NodeSelector
object which uses the key(s) of this selector plus the specified key as selection
criteria. This is useful when another selection is to be performed on the results of a first selector.subKey
- the additional key for the sub selectorNodeSelector
instancepublic boolean equals(Object obj)
NodeSelector
are considered equal if they have the
same keys as selection criteria.public int hashCode()
Copyright © 2001–2022 The Apache Software Foundation. All rights reserved.