Class TreeTraverser
java.lang.Object
org.apache.jackrabbit.commons.flat.TreeTraverser
Utility class for traversing the Items of a JCR hierarchy rooted at a
specific Node.
This class provides an Iterator of JCR items either through its
implementation of Iterable or through various static factory methods.
The iterators return its elements in pre-order. That is, each node occurs
before its child nodes are traversed. The order in which child nodes are
traversed is determined by the underlying JCR implementation. Generally the
order is not specified unless a Node has orderable child nodes.
Whether a specific node is included is determined by an
inclusionPolicy. Error occurring while traversing are delegated to
an errorHandler.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceError handler for handlingRepositoryExceptions occurring on traversal.static interfaceTreeTraverser.InclusionPolicy<T extends Item>Inclusion policy to determine which items to include when traversing. -
Constructor Summary
ConstructorsConstructorDescriptionTreeTraverser(Node root) Create a new instance of a TreeTraverser rooted atnode.TreeTraverser(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy) Create a new instance of a TreeTraverser rooted atnode. -
Method Summary
Modifier and TypeMethodDescriptioniterator()Returns an iterator ofNodefor this instance.nodeIterator(Node root) Create an iterator for the nodes of the sub-tree rooted atroot.nodeIterator(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy) Create an iterator for the nodes of the sub-tree rooted atroot.propertyIterator(Iterator<Node> nodes) Create an iterator of the properties for a given iterator of nodes.propertyIterator(Iterator<Node> nodes, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Property> inclusionPolicy) Create an iterator of the properties for a given iterator of nodes.propertyIterator(Node root) Create an iterator of the properties of all nodes of the sub-tree rooted atroot.propertyIterator(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<Item> inclusionPolicy) Create an iterator of the properties of all nodes of the sub-tree rooted atroot.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
TreeTraverser
public TreeTraverser(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy) Create a new instance of a TreeTraverser rooted atnode.- Parameters:
root- The root node of the sub-tree to traverseerrorHandler- Handler for errors while traversinginclusionPolicy- Inclusion policy to determine which nodes to include
-
TreeTraverser
Create a new instance of a TreeTraverser rooted atnode.- Parameters:
root- The root node of the sub-tree to traverse
-
-
Method Details
-
nodeIterator
public static Iterator<Node> nodeIterator(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy) Create an iterator for the nodes of the sub-tree rooted atroot.- Parameters:
root- root node of the sub-tree to traverseerrorHandler- handler for exceptions occurring on traversalinclusionPolicy- inclusion policy to determine which nodes to include- Returns:
- iterator of
Node
-
nodeIterator
Create an iterator for the nodes of the sub-tree rooted atroot. Exceptions occurring on traversal are ignored.- Parameters:
root- root node of the sub-tree to traverse- Returns:
- iterator of
Node
-
propertyIterator
public static Iterator<Property> propertyIterator(Iterator<Node> nodes, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Property> inclusionPolicy) Create an iterator of the properties for a given iterator of nodes. The order of the returned properties is only specified so far that if noden1occurs before noden2in the iterator of nodes, then any property ofn1will occur before any property ofn2.- Parameters:
nodes- nodes whose properties to chainerrorHandler- handler for exceptions occurring on traversalinclusionPolicy- inclusion policy to determine properties items to include- Returns:
- iterator of
Property
-
propertyIterator
Create an iterator of the properties for a given iterator of nodes. The order of the returned properties is only specified so far that if noden1occurs before noden2in the iterator of nodes, then any property ofn1will occur before any property ofn2. Exceptions occurring on traversal are ignored.- Parameters:
nodes- nodes whose properties to chain- Returns:
- iterator of
Property
-
propertyIterator
public static Iterator<Property> propertyIterator(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<Item> inclusionPolicy) Create an iterator of the properties of all nodes of the sub-tree rooted atroot.- Parameters:
root- root node of the sub-tree to traverseerrorHandler- handler for exceptions occurring on traversalinclusionPolicy- inclusion policy to determine which items to include- Returns:
- iterator of
Property
-
propertyIterator
Create an iterator of the properties of all nodes of the sub-tree rooted atroot. Exceptions occurring on traversal are ignored.- Parameters:
root- root node of the sub-tree to traverse- Returns:
- iterator of
Property
-
iterator
Returns an iterator ofNodefor this instance.
-