Evaluating Software Design Patterns
— the "Gang of Four" patterns implemented in Java 6

Class VisitableRandomSequence

  extended by dk.rode.thesis.meta.model.AbstractSequence<Integer>
      extended by dk.rode.thesis.facade.RandomSequence
          extended by dk.rode.thesis.visitor.VisitableRandomSequence
All Implemented Interfaces:
Sequence<Integer>, Copyable<Sequence<Integer>>, StrictCopyable<Sequence<Integer>>, Stringable<Sequence<Integer>>, ValueVisitableSequence<Integer>

public class VisitableRandomSequence
extends RandomSequence
implements ValueVisitableSequence<Integer>

A visitable random sequence is a RandomSequence that is value visitable only using the SequenceValueVisitor.visitIntegerValued(Sequence, Object) visitation method.

Gunni Rode / rode.dk

Nested Class Summary
Nested classes/interfaces inherited from interface dk.rode.thesis.meta.model.Sequence
Field Summary
Fields inherited from class dk.rode.thesis.meta.model.AbstractSequence
Constructor Summary
VisitableRandomSequence(int maximum)
VisitableRandomSequence(RandomSequence sequence)
          Copy constructor.
Method Summary
<P> void
accept(SequenceValueVisitor<P> visitor, P argument)
          Visits this visitable sequence using the value visitor supplied as visitor.
 VisitableRandomSequence copy()
          Returns a copy of this sequence that will start at the same sequence index as this sequence.
Methods inherited from class dk.rode.thesis.facade.RandomSequence
bounded, consistent, current, next, reset, unique
Methods inherited from class dk.rode.thesis.meta.model.AbstractSequence
getStringablePolicy, state, toString, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface dk.rode.thesis.meta.model.Sequence
bounded, consistent, current, next, reset, state, unique
Methods inherited from interface dk.rode.thesis.strategy.Stringable
getStringablePolicy, toString

Constructor Detail


public VisitableRandomSequence(int maximum)

maximum - The maximum random value. Must be larger than 1.
IllegalArgumentException - If max is smaller than 1.


public VisitableRandomSequence(RandomSequence sequence)
Copy constructor.

sequence - The sequence to copy; cannot be null.
NullPointerException - If sequence is null.
Method Detail


public <P> void accept(SequenceValueVisitor<P> visitor,
                       P argument)
Description copied from interface: ValueVisitableSequence
Visits this visitable sequence using the value visitor supplied as visitor.

Specified by:
accept in interface ValueVisitableSequence<Integer>
Type Parameters:
P - The type of visitor-supplied argument. Use Void for visitors that do not need an additional argument.
visitor - The visitor; never null.
argument - A context supplied argument, if any.
See Also:
SequenceValueVisitor.visitIntegerValued(Sequence, Object)


public VisitableRandomSequence copy()
Description copied from interface: Sequence
Returns a copy of this sequence that will start at the same sequence index as this sequence.

Specified by:
copy in interface Sequence<Integer>
Specified by:
copy in interface Copyable<Sequence<Integer>>
copy in class RandomSequence
A copy of this sequence; never null.

Gunni Rode / rode.dk

Feel free to use and/or modify the Java 6 source code developed for this thesis AT YOUR OWN RISK, but note that the source code comes WITHOUT ANY — and I do mean WITHOUT ANY — form of warranty WHAT SO EVER!

The original thesis and source code are available at rode.dk/thesis.