public final class TreeTraverser extends java.lang.Object implements java.lang.Iterable<Node>
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.
| Modifier and Type | Class and Description |
|---|---|
static interface |
TreeTraverser.ErrorHandler
Error handler for handling
RepositoryExceptions occurring on
traversal. |
static interface |
TreeTraverser.InclusionPolicy<T extends Item>
Inclusion policy to determine which items to include when traversing.
|
| Constructor and Description |
|---|
TreeTraverser(Node root)
Create a new instance of a TreeTraverser rooted at
node. |
TreeTraverser(Node root,
TreeTraverser.ErrorHandler errorHandler,
TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy)
Create a new instance of a TreeTraverser rooted at
node. |
| Modifier and Type | Method and Description |
|---|---|
java.util.Iterator<Node> |
iterator()
Returns an iterator of
Node for this instance. |
static java.util.Iterator<Node> |
nodeIterator(Node root)
Create an iterator for the nodes of the sub-tree rooted at
root. |
static java.util.Iterator<Node> |
nodeIterator(Node root,
TreeTraverser.ErrorHandler errorHandler,
TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy)
Create an iterator for the nodes of the sub-tree rooted at
root. |
static java.util.Iterator<Property> |
propertyIterator(java.util.Iterator<Node> nodes)
Create an iterator of the properties for a given iterator of nodes.
|
static java.util.Iterator<Property> |
propertyIterator(java.util.Iterator<Node> nodes,
TreeTraverser.ErrorHandler errorHandler,
TreeTraverser.InclusionPolicy<? super Property> inclusionPolicy)
Create an iterator of the properties for a given iterator of nodes.
|
static java.util.Iterator<Property> |
propertyIterator(Node root)
Create an iterator of the properties of all nodes of the sub-tree rooted
at
root. |
static java.util.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
at
root. |
public TreeTraverser(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy)
node.root - The root node of the sub-tree to traverseerrorHandler - Handler for errors while traversinginclusionPolicy - Inclusion policy to determine which nodes to
includepublic TreeTraverser(Node root)
node.root - The root node of the sub-tree to traversepublic static java.util.Iterator<Node> nodeIterator(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Node> inclusionPolicy)
root.root - root node of the sub-tree to traverseerrorHandler - handler for exceptions occurring on traversalinclusionPolicy - inclusion policy to determine which nodes to
includeNodepublic static java.util.Iterator<Node> nodeIterator(Node root)
root. Exceptions occurring on traversal are ignored.root - root node of the sub-tree to traverseNodepublic static java.util.Iterator<Property> propertyIterator(java.util.Iterator<Node> nodes, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<? super Property> inclusionPolicy)
n1 occurs before node n2 in the iterator of
nodes, then any property of n1 will occur before any
property of n2.nodes - nodes whose properties to chainerrorHandler - handler for exceptions occurring on traversalinclusionPolicy - inclusion policy to determine properties items to includePropertypublic static java.util.Iterator<Property> propertyIterator(java.util.Iterator<Node> nodes)
n1 occurs before node n2 in the iterator of
nodes, then any property of n1 will occur before any
property of n2. Exceptions occurring on traversal are
ignored.nodes - nodes whose properties to chainPropertypublic static java.util.Iterator<Property> propertyIterator(Node root, TreeTraverser.ErrorHandler errorHandler, TreeTraverser.InclusionPolicy<Item> inclusionPolicy)
root.root - root node of the sub-tree to traverseerrorHandler - handler for exceptions occurring on traversalinclusionPolicy - inclusion policy to determine which items to
includePropertypublic static java.util.Iterator<Property> propertyIterator(Node root)
root. Exceptions occurring on traversal are ignored.root - root node of the sub-tree to traversePropertypublic java.util.Iterator<Node> iterator()
Node for this instance.iterator in interface java.lang.Iterable<Node>TreeTraverser(Node, ErrorHandler, InclusionPolicy),
Iterable.iterator()Copyright © 2010 - 2023 Adobe. All Rights Reserved