Package chemaxon.util.iterator
Class IteratorFactory.NeighbourIterator<E>
java.lang.Object
chemaxon.util.iterator.IteratorFactory.NeighbourIterator<E>
- All Implemented Interfaces:
Iterator<E>
- Direct Known Subclasses:
IteratorFactory.AtomNeighbourIterator
,IteratorFactory.BondNeighbourIterator
- Enclosing class:
- IteratorFactory
The
NeighbourIterator
class provides an iterator to process
the bonds connecting to the specified atom according to the atom and bond
related behavior of this factory.-
Field Summary
Modifier and TypeFieldDescriptionprotected MolAtom
The atom whose the neighbours are processed.protected int
Current bond pointer of the iterator.Secondary bonds that replace a coordinate bond to the multicenter with coordinate bonds from the metal to the represented atoms (in the MulticenterSgroup of the multicenter). -
Constructor Summary
ModifierConstructorDescriptionprotected
NeighbourIterator
(MolAtom atom) Constructs an iterator to process the bonds connecting to the specified atom. -
Method Summary
Modifier and TypeMethodDescriptionprotected MolBond
getBond
(int index) Returns a bond of a specified index.boolean
hasNext()
Decides whether the iteration has more element.protected int
nextBondIndex
(int index) Returns the next bond index in the iteration according to the atom and bond related behavior specified in the factory.void
remove()
The remove operation is not supported by this Iterator implementation.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining, next
-
Field Details
-
atom
The atom whose the neighbours are processed. -
currentBond
protected int currentBondCurrent bond pointer of the iterator. -
secondaryBonds
Secondary bonds that replace a coordinate bond to the multicenter with coordinate bonds from the metal to the represented atoms (in the MulticenterSgroup of the multicenter). These secondary bonds are not added to the molecule of the factory, so do not use Molecule.indexOf for the secondary bonds! In the future, secondary bonds may be implemented for other types of connections too.
-
-
Constructor Details
-
NeighbourIterator
Constructs an iterator to process the bonds connecting to the specified atom. The following bonds are excluded:- bonds excluded in the bond related behavior of the factory and
- bonds connecting to atoms that are excluded in the atom related behavior of the factory.
- Parameters:
atom
- the atom whose bonds to be iterated
-
-
Method Details
-
getBond
Returns a bond of a specified index.- Parameters:
index
- the specified index of the bond- Returns:
- the bond of the specified index
-
hasNext
public boolean hasNext()Decides whether the iteration has more element. -
nextBondIndex
protected int nextBondIndex(int index) Returns the next bond index in the iteration according to the atom and bond related behavior specified in the factory.- Parameters:
index
- the current index to get the subsequent index from- Returns:
- the subsequent index
-
remove
public void remove()The remove operation is not supported by this Iterator implementation.- Specified by:
remove
in interfaceIterator<E>
- Throws:
UnsupportedOperationException
- See Also:
-