|
Evaluating Software Design Patterns — the "Gang of Four" patterns implemented in Java 6 |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectdk.rode.thesis.visitor.TypeVisitor
@Participant(value="ConcreteVisitor") public class TypeVisitor
A type visitor collects visited sequences
based on acceptance of specific sequence types.
It handles only type visitable
sequences.
The collected types correspond to the visitation methods
overridden by sub-classes of this visitor. If this visitor
is used as is, it will accept no sequence types: each visitation
method does nothing per default. A sub-class must simply invoke
approve(Sequence) to signal that a given visited
sequence is approved.
The visitor accumulates the visited sequences in visitation
order. They can be collected after visitation via the
getApproved() method. A given sequence is only
included once in the returned list, based on equals,
not identity.
LoggingVisitor,
CountingVisitor,
SimpleScanner| Field Summary | |
|---|---|
private Set<Sequence<?>> |
approved
The set containing the approved sequences, in order. |
| Constructor Summary | |
|---|---|
TypeVisitor()
No-arg constructor. |
|
| Method Summary | |
|---|---|
protected void |
approve(Sequence<?> sequence)
Approves the visited sequence supplied as sequence. |
int |
approved()
Returns the number of sequences approved by this visitor. |
void |
clear()
Clears the accumulated approved sequences, so this visitor can be reused. |
List<Sequence<?>> |
getApproved()
Returns a list containing the sequences approved by this type visitor, in visitation order. |
String |
toString()
Returns the string representation of this visitor. |
void |
visitComposite(CompositeSequence<?> sequence,
Void unused)
Visits a composite sequence. |
void |
visitMemorizable(MemorizableSequence<?> sequence,
Void unused)
Visits a memorizable sequence. |
void |
visitObservable(ObservableSequence<?,?,?> sequence,
Void unused)
Visits an observable sequence. |
void |
visitReversible(ReversibleSequence<?> sequence,
Void unused)
Visits a reversible sequence. |
void |
visitStateable(StateableSequence<?> sequence,
Void unused)
Visits a stateable sequence. |
void |
visitUnknown(Sequence<?> sequence,
Void unused)
Visits a sequence that cannot be visited
by any other visitation methods declared by this visitor. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private final Set<Sequence<?>> approved
Never null, but may be empty.
| Constructor Detail |
|---|
public TypeVisitor()
| Method Detail |
|---|
protected void approve(Sequence<?> sequence)
sequence.
sequence - The sequence to approve; cannot be null.
NullPointerException - if sequence is null.public int approved()
getApproved()public void clear()
public List<Sequence<?>> getApproved()
Modifying the returned list will not affect this visitor.
public String toString()
toString in class Object
public void visitComposite(CompositeSequence<?> sequence,
Void unused)
SequenceTypeVisitorcomposite sequence.
visitComposite in interface SequenceTypeVisitor<Void>sequence - The composite sequence to visit; never null.unused - A visitor-specified argument, if any; nullability
determined by the visitor implementation.
public void visitMemorizable(MemorizableSequence<?> sequence,
Void unused)
SequenceTypeVisitormemorizable sequence.
visitMemorizable in interface SequenceTypeVisitor<Void>sequence - The memorizable sequence to visit; never null.unused - A visitor-specified argument, if any; nullability
determined by the visitor implementation.
public void visitObservable(ObservableSequence<?,?,?> sequence,
Void unused)
SequenceTypeVisitorobservable sequence.
visitObservable in interface SequenceTypeVisitor<Void>sequence - The observable sequence to visit; never null.unused - A visitor-specified argument, if any; nullability
determined by the visitor implementation.
public void visitReversible(ReversibleSequence<?> sequence,
Void unused)
SequenceTypeVisitorreversible sequence.
visitReversible in interface SequenceTypeVisitor<Void>sequence - The reversible sequence to visit; never null.unused - A visitor-specified argument, if any; nullability
determined by the visitor implementation.
public void visitStateable(StateableSequence<?> sequence,
Void unused)
SequenceTypeVisitorstateable sequence.
visitStateable in interface SequenceTypeVisitor<Void>sequence - The stateable sequence to visit; never null.unused - A visitor-specified argument, if any; nullability
determined by the visitor implementation.
public void visitUnknown(Sequence<?> sequence,
Void unused)
SequenceVisitorsequence that cannot be visited
by any other visitation methods declared by this visitor.
visitUnknown in interface SequenceVisitor<Void>sequence - The sequence to visit; never null.unused - A visitor-specified argument, if any; nullability
determined by the visitor implementation.
|
Gunni Rode / rode.dk | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||