@Revision(value="$Revision: 1.4 $", date="$Date: 2006/11/09 02:10:13 $", tag="$Name: $")

Package rcf.core.util.position

TODO: Javadoc A Position or ImmutablePosition represents a position inside a Collection or Iterable, including everything from a rcf.core.util.collection.vector to a rcf.core.util.collection.set, to a rcf.core.util.graph.

See:
          Description

Interface Summary
ImmutablePosition<T> The simplest kind of immutable position representing an element in an abstract data structure.
Position<T> A combination of the ImmutablePosition and SingletonInterface interfaces which adds support for the modification of the element at this position through SingletonInterface.set(Object) and it's removal from the backing abstract data structure with Position.remove().
 

Exception Summary
IncompatiblePositionException Indicates that a position specified as a method argument is incompatible in that it does not refer to a position in the appropriate abstract data structure.
SentinelPositionException Indicates that a method call to a position or iterator could not be executed because one or more of the positions was a sentinel, when an element bearing position was required.
 

Package rcf.core.util.position Description

TODO: Javadoc A Position or ImmutablePosition represents a position inside a Collection or Iterable, including everything from a rcf.core.util.collection.vector to a rcf.core.util.collection.set, to a rcf.core.util.graph. A Position has no spatial component, and no notion of it's relationship to other positions (this allows e.g. HashSet to use position interfaces).

This package is basis of the rcf.core.util.iterator package. As such it supports for the fail-fast behavior which is part of that package through the methods Position.isRemoved() and Position.isValid(). Furthermore, the documentation for Position includes the formal description of fail-fast behavior.

This package also include support for sentinel positions which can be used to detect the end of an iteration, and are used extensively in the rcf.core.util.collection.position and rcf.core.util.collection.iterator packages.

TODO: Javadoc
TODO: Javadoc review, Seal/Finalize

Author:
Greg Gibeling