rcf.core.util.iterator
Interface Iterable<T>

Type Parameters:
T - The type of the elements which are stored at positions.
All Superinterfaces:
ImmutableIterable<T>
All Known Implementing Classes:
rcf.core.util.collection.AbstractCollection, rcf.core.util.collection.vector.AbstractVector, ArrayEventSyndicate, rcf.core.util.collection.vector.ArrayVector, HashEventSyndicate, rcf.core.util.map.HashMap, rcf.core.util.collection.Hashtable, Pair.Iterable, Singleton.Iterable, Triple.Iterable

@Revision(value="$Revision: 1.4 $",
          date="$Date: 2006/11/09 02:10:05 $",
          tag="$Name:  $")
public interface Iterable<T>
extends ImmutableIterable<T>

TODO: Javadoc An extension of the ImmutableIterable interface which adds support for mutating the elements at it's positions. Please see rcf.core.util.iterator for a discussion of the fact that this interface contains no methods for starting an iteration.

TODO: Javadoc review, Seal/Finalize

Version:
$Revision: 1.4 $
Author:
Greg Gibeling

Method Summary
 Iterator<T> makeNative(ImmutablePosition<T> p)
          TODO: Javadoc Convert the specified position into an iterator native to this iterable.
 
Methods inherited from interface rcf.core.util.iterator.ImmutableIterable
isCompatible, isEmpty, isNative, size
 

Method Detail

makeNative

Iterator<T> makeNative(ImmutablePosition<T> p)
Description copied from interface: ImmutableIterable
TODO: Javadoc Convert the specified position into an iterator native to this iterable. Note that if the specified position is already native to this iterable, it will be returned, not a copy of it. If it is not native, a ImmutableIterator.copy() will be returned.

Specified by:
makeNative in interface ImmutableIterable<T>
Parameters:
p - The position to return a native version of.
Returns:
The position p if it is native to this iterable, or, if isCompatible(p) a position q such that q.equals(p) && isNative(q) && (q != p). Otherwise, if !isCompatible(p), this method will return null.