org.modeshape.graph.query.model
Class Visitors

java.lang.Object
  extended by org.modeshape.graph.query.model.Visitors

public class Visitors
extends Object

A set of common visitors that can be reused or extended, and methods that provide easy construction and calling of visitors.


Nested Class Summary
static class Visitors.AbstractVisitor
          A common base class for all visitors, which provides no-op implementations for all visit(...) methods.
static class Visitors.NavigationVisitor
          An abstract visitor implementation that performs navigation of the query object.
static class Visitors.ReadableVisitor
           
static class Visitors.WalkAllVisitor
          A visitor implementation that walks the entire query object tree and delegates to another supplied visitor to do the actual work.
 
Constructor Summary
Visitors()
           
 
Method Summary
static Set<SelectorName> getSelectorsReferencedBy(Visitable visitable)
          Get the names of the selectors referenced by the visitable object.
static String readable(Visitable visitable)
          Using a visitor, obtain the readable string representation of the supplied object
static
<GeneralVisitor extends Visitor>
GeneralVisitor
visit(Visitable visitable, GeneralVisitor visitor)
          Visit the supplied object using the supplied Visitors.AbstractVisitor, which must be responsible for navigation as well as any business logic.
static
<StrategyVisitor extends Visitor>
StrategyVisitor
visitAll(Visitable visitable, StrategyVisitor strategyVisitor)
          Visit all objects in the supplied object using a Visitors.NavigationVisitor (specifically a Visitors.WalkAllVisitor), and with each of these visited objects calling the appropriate visit(...) method on the supplied Visitors.AbstractVisitor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Visitors

public Visitors()
Method Detail

visitAll

public static <StrategyVisitor extends Visitor> StrategyVisitor visitAll(Visitable visitable,
                                                                         StrategyVisitor strategyVisitor)
Visit all objects in the supplied object using a Visitors.NavigationVisitor (specifically a Visitors.WalkAllVisitor), and with each of these visited objects calling the appropriate visit(...) method on the supplied Visitors.AbstractVisitor.

Type Parameters:
StrategyVisitor - the type of strategy visitor
Parameters:
visitable - the top-level object to be visited
strategyVisitor - the visitor that is to be called for each visited objects, but that does not call Visitable.accept(Visitor)
Returns:
the strategy visitor, allowing the caller to easily invoke operations on the visitor after visitation has completed

visit

public static <GeneralVisitor extends Visitor> GeneralVisitor visit(Visitable visitable,
                                                                    GeneralVisitor visitor)
Visit the supplied object using the supplied Visitors.AbstractVisitor, which must be responsible for navigation as well as any business logic.

Type Parameters:
GeneralVisitor - the type of visitor
Parameters:
visitable - the top-level object to be visited
visitor - the visitor that is to be used
Returns:
the visitor, allowing the caller to easily invoke operations on the visitor after visitation has completed

readable

public static String readable(Visitable visitable)
Using a visitor, obtain the readable string representation of the supplied object

Parameters:
visitable - the visitable
Returns:
the string representation

getSelectorsReferencedBy

public static Set<SelectorName> getSelectorsReferencedBy(Visitable visitable)
Get the names of the selectors referenced by the visitable object.

Parameters:
visitable - the object to be visited
Returns:
the set of selector names referenced in some way by the visitable; never null


Copyright © 2008-2010 JBoss, a division of Red Hat. All Rights Reserved.