|
|||||||||
| Home >> All >> com >> trapezium >> [ pattern overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.trapezium.pattern
Class Visitor

java.lang.Objectcom.trapezium.pattern.Visitor
- All Implemented Interfaces:
- java.io.Serializable
- public abstract class Visitor
- extends java.lang.Object
- implements java.io.Serializable
- extends java.lang.Object
Abstract base class for all Visitor pattern objects. Concrete subclasses must define "visitObject" method, which returns true if the visited object's children are to be visitied, otherwise false.
- Since:
- 1.0
- Version:
- 1.12, 4 March 1998, infinite loop bug with some PROTOs, 1.0, 30 Dec 1997
| Field Summary | |
protected com.trapezium.parse.TokenEnumerator |
dataSource
|
(package private) java.util.Hashtable |
visited
|
int |
visitLevel
|
| Constructor Summary | |
Visitor(com.trapezium.parse.TokenEnumerator dataSource)
Class constructor |
|
| Method Summary | |
boolean |
accepts(java.lang.Object a)
Template method, indicates whether an object is acceptable to the visitor. |
boolean |
acceptsPassOne(java.lang.Object a)
|
boolean |
acceptsPassTwo(java.lang.Object a)
|
void |
done()
Done visiting at this level. |
com.trapezium.parse.TokenEnumerator |
getDataSource()
Get the data source |
boolean |
isTwoPassVisitor()
|
(package private) void |
notifyCallback(java.lang.Object a)
call back to report progress |
void |
setDataSource(com.trapezium.parse.TokenEnumerator dataSource)
Set the data source for this visitor |
java.lang.String |
spacer()
visit level indentation |
boolean |
visit(java.lang.Object a)
Visit a particular object, subclass template method "visitObject" does actual visit, base class only tracks visit level. |
abstract boolean |
visitObject(java.lang.Object a)
Template method for actually visiting an object. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
visitLevel
public int visitLevel
dataSource
protected com.trapezium.parse.TokenEnumerator dataSource
visited
java.util.Hashtable visited
| Constructor Detail |
Visitor
public Visitor(com.trapezium.parse.TokenEnumerator dataSource)
- Class constructor
| Method Detail |
setDataSource
public void setDataSource(com.trapezium.parse.TokenEnumerator dataSource)
- Set the data source for this visitor
getDataSource
public com.trapezium.parse.TokenEnumerator getDataSource()
- Get the data source
spacer
public java.lang.String spacer()
- visit level indentation
visit
public boolean visit(java.lang.Object a)
- Visit a particular object, subclass template method "visitObject" does actual visit,
base class only tracks visit level.
notifyCallback
void notifyCallback(java.lang.Object a)
- call back to report progress
done
public void done()
- Done visiting at this level.
accepts
public boolean accepts(java.lang.Object a)
- Template method, indicates whether an object is acceptable to the visitor.
This is assuming that all traversals start at acceptable objects, but from
that point on, any object is acceptable only if the accepts method approves
it. This is a default method, which approves all objects for the visitor.
If a Visitor subclass needs to restrict the objects passed to "visitObject",
this method is changed to only allow such objects.
acceptsPassOne
public boolean acceptsPassOne(java.lang.Object a)
acceptsPassTwo
public boolean acceptsPassTwo(java.lang.Object a)
isTwoPassVisitor
public boolean isTwoPassVisitor()
visitObject
public abstract boolean visitObject(java.lang.Object a)
- Template method for actually visiting an object. Returns true if object children
also get visited.
|
|||||||||
| Home >> All >> com >> trapezium >> [ pattern overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
com.trapezium.pattern.Visitor