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

dk.rode.thesis.bridge
Class SequenceValueTreeSet<E extends Serializable>

java.lang.Object
  extended by dk.rode.thesis.bridge.SequenceValueCollection<E,C>
      extended by dk.rode.thesis.bridge.SequenceValueSet<E,TreeSet<E>>
          extended by dk.rode.thesis.bridge.SequenceValueTreeSet<E>
Type Parameters:
E - The type of serializable values stored in this value set.
All Implemented Interfaces:
SequenceValueGenerator<E>, Copyable<SequenceValueGenerator<E>>, Stringable<SequenceValueGenerator<E>>

@Participant(value="ConcreteImplementor")
public class SequenceValueTreeSet<E extends Serializable>
extends SequenceValueSet<E,TreeSet<E>>

A sequence value tree set stores sequence values in a java.util.TreeSet instance.

A sequence value tree set is always ordered, sorted, and contains no duplicates.

Author:
Gunni Rode / rode.dk

Field Summary
 
Fields inherited from class dk.rode.thesis.bridge.SequenceValueCollection
number, type, values
 
Constructor Summary
  SequenceValueTreeSet(Class<E> type, TreeSet<E> values)
          Constructor, which creates this sequence value tree set to use the java.util.TreeSet instance supplied as values.
private SequenceValueTreeSet(Class<E> type, TreeSet<E> values, int number)
          Constructor, which creates this sequence value tree set to use the java.util.TreeSet instance supplied as values.
 
Method Summary
 SequenceValueTreeSet<E> copy()
          Performs a deep copy of this generator.
 boolean ordered()
          Returns true.
 boolean sorted()
          Returns true.
 
Methods inherited from class dk.rode.thesis.bridge.SequenceValueSet
duplicates, first, get, get, numberOf
 
Methods inherited from class dk.rode.thesis.bridge.SequenceValueCollection
checkNumber, equals, getStringablePolicy, getValueType, hashCode, number, size, toCollection, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SequenceValueTreeSet

public SequenceValueTreeSet(Class<E> type,
                            TreeSet<E> values)
Constructor, which creates this sequence value tree set to use the java.util.TreeSet instance supplied as values.

Modifying values externally will affect this value set and should not be performed. The result of doing so is undefined - but never good.

Parameters:
type - The type of values stored in this set (and values); cannot be null.
values - The actual TreeSet instance storing the sequence values; cannot be null or empty.
Throws:
NullPointerException - If either argument is null.
IllegalArgumentException - If values is empty.

SequenceValueTreeSet

private SequenceValueTreeSet(Class<E> type,
                             TreeSet<E> values,
                             int number)
Constructor, which creates this sequence value tree set to use the java.util.TreeSet instance supplied as values.

Modifying values externally will affect this value set and should not be performed. The result of doing so is undefined - but never good.

Parameters:
type - The type of values stored in this set (and values); cannot be null.
values - The actual TreeSet instance storing the sequence values; cannot be null or empty.
number - The number pointing the the number'th value to be returned by the next call to SequenceValueSet.get().
Throws:
NullPointerException - If either argument is null.
IllegalArgumentException - If values is empty, contain a null value, or if number is illegal.
Method Detail

copy

public SequenceValueTreeSet<E> copy()
Description copied from class: SequenceValueCollection
Performs a deep copy of this generator.

The size, ordered, sorted, and duplicate properties are adhered to by the returned clone.

The work in copying this collection is proportional with the number of values contained, and is thus more expensive the larger this collection is!

Specified by:
copy in interface SequenceValueGenerator<E extends Serializable>
Specified by:
copy in interface Copyable<SequenceValueGenerator<E extends Serializable>>
Specified by:
copy in class SequenceValueCollection<E extends Serializable,TreeSet<E extends Serializable>>
Returns:
A copy of this value collection; never null.

ordered

public boolean ordered()
Returns true.

Returns:
True.

sorted

public boolean sorted()
Returns true.

Returns:
True.

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.