org.pietschy.command

Class AbstractVisitor

Implemented Interfaces:
GroupVisitor
Known Direct Subclasses:
MatchVisitor, RemoveVisitor, ResetVisitor

public abstract class AbstractVisitor
extends java.lang.Object
implements GroupVisitor

AbstractVisitor provides a default implementation of GroupVisitor that predefines a number of visitation modes by providing a default implementation of conditionallyVisitChildren(CommandGroup).

The available modes are as follows.

SHALLOW
DEEP
Version:
$Revision: 1.5 $
Author:
andrewp

Nested Class Summary

static class
AbstractVisitor.VisitMode

Field Summary

static AbstractVisitor.VisitMode
DEEP
The visitor traverse the entire graph of commands under the top level group.
static AbstractVisitor.VisitMode
SHALLOW
The visitor will visit the immediate children only (including inline children).
protected AbstractVisitor.VisitMode
mode
The mode in which the visitor should operate.

Constructor Summary

AbstractVisitor(AbstractVisitor.VisitMode mode)
Constructs a new Abstract visitor using the specified visitation mode.

Method Summary

void
conditionallyVisitChildren(CommandGroup group)
protected boolean
isParentGroup(CommandGroup group)

Field Details

DEEP

public static final AbstractVisitor.VisitMode DEEP
The visitor traverse the entire graph of commands under the top level group.

SHALLOW

public static final AbstractVisitor.VisitMode SHALLOW
The visitor will visit the immediate children only (including inline children).

mode

protected AbstractVisitor.VisitMode mode
The mode in which the visitor should operate.

Constructor Details

AbstractVisitor

public AbstractVisitor(AbstractVisitor.VisitMode mode)
Constructs a new Abstract visitor using the specified visitation mode.
Parameters:
mode - the AbstractVisitor.VisitMode the visitor should use.

Method Details

conditionallyVisitChildren

public void conditionallyVisitChildren(CommandGroup group)

isParentGroup

protected boolean isParentGroup(CommandGroup group)