etomica.atom.iterator
Class ApiIndexList

java.lang.Object
  extended by etomica.atom.iterator.ApiIndexList
All Implemented Interfaces:
AtomLeafsetIterator, AtomsetIterator, AtomsetIteratorBasisDependent, AtomsetIteratorTargetable

public class ApiIndexList
extends Object
implements AtomsetIteratorBasisDependent

Iterator that expires after returning a single atom pair, which is specified by a call to the setPair method. Subsequent calls to reset() and next() will return the specified pair, until another is specified via setPair. No iteration is performed if either or both atoms are null.


Constructor Summary
ApiIndexList(int[][] index)
          Constructs iterator without defining atoms in pair.
 
Method Summary
 int basisSize()
          Indicates the size of the basis needed to set the iterator.
 boolean haveTarget(IAtom a)
          Returns true if the iterator with its current basis would return an iterate for the given target.
 int nBody()
          Returns 2, indicating that this is a pair iterator.
 IAtomList next()
          Returns the iterator's pair and unsets iterator.
 void reset()
          Resets iterator to a state where hasNext is true, if atoms in pair are not null.
 void setBasis(IMoleculeList parent)
          Identifies the atoms that form the basis for iteration, such that the childList atoms of those given will form the iterates.
 void setTarget(IAtom a)
           
 int size()
          The number of iterates returned by this iterator in its current state.
 void unset()
          Sets iterator to a state where hasNext() returns false.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApiIndexList

public ApiIndexList(int[][] index)
Constructs iterator without defining atoms in pair.

Method Detail

basisSize

public int basisSize()
Description copied from interface: AtomsetIteratorBasisDependent
Indicates the size of the basis needed to set the iterator. The length of the array given to setBasis should be this value.

Specified by:
basisSize in interface AtomsetIteratorBasisDependent
Returns:
the size of the basis for this iterator.

haveTarget

public boolean haveTarget(IAtom a)
Description copied from interface: AtomsetIteratorBasisDependent
Returns true if the iterator with its current basis would return an iterate for the given target.

Specified by:
haveTarget in interface AtomsetIteratorBasisDependent

setTarget

public void setTarget(IAtom a)
Specified by:
setTarget in interface AtomsetIteratorTargetable

setBasis

public void setBasis(IMoleculeList parent)
Description copied from interface: AtomsetIteratorBasisDependent
Identifies the atoms that form the basis for iteration, such that the childList atoms of those given will form the iterates.

Specified by:
setBasis in interface AtomsetIteratorBasisDependent
Parameters:
parent - The basis atoms; a null basis will condition the iterator to give no iterates until a valid basis is specified via another call to this method.

size

public int size()
Description copied from interface: AtomsetIterator
The number of iterates returned by this iterator in its current state.

Specified by:
size in interface AtomsetIterator

unset

public void unset()
Sets iterator to a state where hasNext() returns false.

Specified by:
unset in interface AtomsetIterator

reset

public void reset()
Resets iterator to a state where hasNext is true, if atoms in pair are not null.

Specified by:
reset in interface AtomsetIterator

next

public IAtomList next()
Returns the iterator's pair and unsets iterator.

Specified by:
next in interface AtomLeafsetIterator

nBody

public final int nBody()
Returns 2, indicating that this is a pair iterator.

Specified by:
nBody in interface AtomsetIterator
Returns: