org.openscience.cdk
Class AtomContainer

java.lang.Object
  extended by org.openscience.cdk.ChemObject
      extended by org.openscience.cdk.AtomContainer
All Implemented Interfaces:
Serializable, Cloneable, IAtomContainer, ICDKObject, IChemObject, IChemObjectListener
Direct Known Subclasses:
ChargeGroup, Crystal, DebugAtomContainer, MDMolecule, Monomer, Polymer, Residue, Ring, Strand

public class AtomContainer
extends ChemObject
implements IAtomContainer, IChemObjectListener, Serializable, Cloneable

Base class for all chemical objects that maintain a list of Atoms and ElectronContainers.

Looping over all Bonds in the AtomContainer is typically done like:

 Iterator iter = atomContainer.bonds();
 while (iter.hasNext()) {
   IBond aBond = (IBond) iter.next();
 }

  

Author:
steinbeck
See Also:
Serialized Form
Created on:
2000-10-02
Belongs to CDK module:
data
Source code:
cdk-1.4.x

Constructor Summary
AtomContainer()
          Constructs an empty AtomContainer.
AtomContainer(IAtomContainer container)
          Constructs an AtomContainer with a copy of the atoms and electronContainers of another AtomContainer (A shallow copy, i.e., with the same objects as in the original AtomContainer).
AtomContainer(int atomCount, int bondCount, int lpCount, int seCount)
          Constructs an empty AtomContainer that will contain a certain number of atoms and electronContainers.
 
Method Summary
 void add(IAtomContainer atomContainer)
          Adds all atoms and electronContainers of a given atomcontainer to this container.
 void addAtom(IAtom atom)
          Adds an atom to this container.
 void addBond(IBond bond)
          Adds a Bond to this AtomContainer.
 void addBond(int atom1, int atom2, IBond.Order order)
          Adds a bond to this container.
 void addBond(int atom1, int atom2, IBond.Order order, IBond.Stereo stereo)
          Adds a bond to this container.
 void addElectronContainer(IElectronContainer electronContainer)
          Adds a ElectronContainer to this AtomContainer.
 void addLonePair(ILonePair lonePair)
          Adds a lone pair to this AtomContainer.
 void addLonePair(int atomID)
          Adds a LonePair to this Atom.
 void addSingleElectron(int atomID)
          Adds a LonePair to this Atom.
 void addSingleElectron(ISingleElectron singleElectron)
          Adds a single electron to this AtomContainer.
 void addStereoElement(IStereoElement element)
          Adds a stereo element to this container.
 Iterable<IAtom> atoms()
          Returns an Iterable for looping over all atoms in this container.
 Iterable<IBond> bonds()
          Returns an Iterable for looping over all bonds in this container.
 Object clone()
          Clones this AtomContainer object and its content.
 boolean contains(IAtom atom)
          True, if the AtomContainer contains the given atom object.
 boolean contains(IBond bond)
          True, if the AtomContainer contains the given bond object.
 boolean contains(IElectronContainer electronContainer)
          True, if the AtomContainer contains the given ElectronContainer object.
 boolean contains(ILonePair lonePair)
          True, if the AtomContainer contains the given LonePair object.
 boolean contains(ISingleElectron singleElectron)
          True, if the AtomContainer contains the given SingleElectron object.
 Iterable<IElectronContainer> electronContainers()
          Returns an Iterable for looping over all electron containers in this container.
 IAtom getAtom(int number)
          Get the atom at position number in [0,..].
 int getAtomCount()
          Returns the number of Atoms in this Container.
 int getAtomNumber(IAtom atom)
          Returns the position of a given atom in the atoms array.
 IBond getBond(IAtom atom1, IAtom atom2)
          Returns the bond that connects the two given atoms.
 IBond getBond(int number)
          Get the bond at position number in [0,..].
 int getBondCount()
          Returns the number of Bonds in this Container.
 int getBondNumber(IAtom atom1, IAtom atom2)
          Returns the position of the bond between two given atoms in the electronContainers array.
 int getBondNumber(IBond bond)
          Returns the position of a given bond in the electronContainers array.
 double getBondOrderSum(IAtom atom)
          Deprecated. Replaced by AtomContainerManipulator#getBondOrderSum(IAtomContainer, IAtom)
 int getConnectedAtomsCount(IAtom atom)
          Returns the number of atoms connected to the given atom.
 List<IAtom> getConnectedAtomsList(IAtom atom)
          Returns an ArrayList of all atoms connected to the given atom.
 int getConnectedBondsCount(IAtom atom)
          Returns the number of Bonds for a given Atom.
 int getConnectedBondsCount(int atomNumber)
          Returns the number of connected atoms (degree) to the given atom.
 List<IBond> getConnectedBondsList(IAtom atom)
          Returns an ArrayList of all Bonds connected to the given atom.
 List<IElectronContainer> getConnectedElectronContainersList(IAtom atom)
          Returns an ArrayList of all electronContainers connected to the given atom.
 int getConnectedLonePairsCount(IAtom atom)
          Returns the number of LonePairs for a given Atom.
 List<ILonePair> getConnectedLonePairsList(IAtom atom)
          Returns the array of lone pairs connected to an atom.
 int getConnectedSingleElectronsCount(IAtom atom)
          Returns the sum of the SingleElectron for a given Atom.
 List<ISingleElectron> getConnectedSingleElectronsList(IAtom atom)
          Returns an array of all SingleElectron connected to the given atom.
 IElectronContainer getElectronContainer(int number)
          Returns the ElectronContainer at position number in the container.
 int getElectronContainerCount()
          Returns the number of ElectronContainers in this Container.
 IAtom getFirstAtom()
          Returns the atom at position 0 in the container.
 IAtom getLastAtom()
          Returns the atom at the last position in the container.
 ILonePair getLonePair(int number)
          Get the lone pair at position number in [0,..].
 int getLonePairCount()
          Returns the number of LonePairs in this Container.
 int getLonePairNumber(ILonePair lonePair)
          Returns the position of a given lone pair in the lone pair array.
 IBond.Order getMaximumBondOrder(IAtom atom)
          Returns the maximum bond order that this atom currently has in the context of this AtomContainer.
 IBond.Order getMinimumBondOrder(IAtom atom)
          Returns the minimum bond order that this atom currently has in the context of this AtomContainer.
 ISingleElectron getSingleElectron(int number)
          Get the single electron at position number in [0,..].
 int getSingleElectronCount()
          Returns the number of the single electrons in this container,
 int getSingleElectronNumber(ISingleElectron singleElectron)
          Returns the position of a given single electron in the single electron array.
 Iterable<ILonePair> lonePairs()
          Returns an Iterable for looping over all lone pairs in this container.
 void remove(IAtomContainer atomContainer)
          Removes all atoms and electronContainers of a given atomcontainer from this container.
 void removeAllBonds()
          Removes all Bonds from this container.
 void removeAllElectronContainers()
          Removes electronContainers from this container.
 void removeAllElements()
          Removes all atoms and bond from this container.
 void removeAtom(IAtom atom)
          Removes the given atom from the AtomContainer.
 void removeAtom(int position)
          Removes the atom at the given position from the AtomContainer.
 void removeAtomAndConnectedElectronContainers(IAtom atom)
          Removes the given atom and all connected electronContainers from the AtomContainer.
 IBond removeBond(IAtom atom1, IAtom atom2)
          Removes the bond that connects the two given atoms.
 void removeBond(IBond bond)
          Removes the bond from this container.
 IBond removeBond(int position)
          Removes the bond at the given position from the AtomContainer.
 void removeElectronContainer(IElectronContainer electronContainer)
          Removes this ElectronContainer from this container.
 IElectronContainer removeElectronContainer(int number)
          Removes the bond at the given position from this container.
 void removeLonePair(ILonePair lonePair)
          Removes the lone pair from the AtomContainer.
 ILonePair removeLonePair(int position)
          Removes the lone pair at the given position from the AtomContainer.
 ISingleElectron removeSingleElectron(int position)
          Removes the single electron at the given position from the AtomContainer.
 void removeSingleElectron(ISingleElectron singleElectron)
          Removes the single electron from the AtomContainer.
 void setAtom(int number, IAtom atom)
          Sets the atom at position number in [0,..].
 void setAtoms(IAtom[] atoms)
          Sets the array of atoms of this AtomContainer.
 void setBonds(IBond[] bonds)
          Sets the array of bonds of this AtomContainer.
 Iterable<ISingleElectron> singleElectrons()
          Returns an Iterable for looping over all single electrons in this container.
 void stateChanged(IChemObjectChangeEvent event)
          Called by objects to which this object has registered as a listener.
 Iterable<IStereoElement> stereoElements()
          Returns the stereo elements defined for this atom container.
 String toString()
          Returns a one line string representation of this Container.
 
Methods inherited from class org.openscience.cdk.ChemObject
addListener, compare, getBuilder, getFlag, getFlags, getID, getListenerCount, getNotification, getProperties, getProperty, notifyChanged, notifyChanged, removeListener, removeProperty, setFlag, setFlags, setID, setNotification, setProperties, setProperty, shallowCopy
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openscience.cdk.interfaces.IChemObject
addListener, getFlag, getFlags, getID, getListenerCount, getNotification, getProperties, getProperty, notifyChanged, notifyChanged, removeListener, removeProperty, setFlag, setFlags, setID, setNotification, setProperties, setProperty
 
Methods inherited from interface org.openscience.cdk.interfaces.ICDKObject
getBuilder
 

Constructor Detail

AtomContainer

public AtomContainer()
Constructs an empty AtomContainer.


AtomContainer

public AtomContainer(IAtomContainer container)
Constructs an AtomContainer with a copy of the atoms and electronContainers of another AtomContainer (A shallow copy, i.e., with the same objects as in the original AtomContainer).

Parameters:
container - An AtomContainer to copy the atoms and electronContainers from

AtomContainer

public AtomContainer(int atomCount,
                     int bondCount,
                     int lpCount,
                     int seCount)
Constructs an empty AtomContainer that will contain a certain number of atoms and electronContainers. It will set the starting array lengths to the defined values, but will not create any Atom or ElectronContainer's.

Parameters:
atomCount - Number of atoms to be in this container
bondCount - Number of bonds to be in this container
lpCount - Number of lone pairs to be in this container
seCount - Number of single electrons to be in this container
Method Detail

addStereoElement

public void addStereoElement(IStereoElement element)
Adds a stereo element to this container.

Specified by:
addStereoElement in interface IAtomContainer
Parameters:
element - The new IStereoElement for this container
See Also:
IAtomContainer.stereoElements()

stereoElements

public Iterable<IStereoElement> stereoElements()
Returns the stereo elements defined for this atom container.

Specified by:
stereoElements in interface IAtomContainer
Returns:
An Iterable of IStereoElements.
See Also:
IAtomContainer.addStereoElement(IStereoElement)

setAtoms

public void setAtoms(IAtom[] atoms)
Sets the array of atoms of this AtomContainer.

Specified by:
setAtoms in interface IAtomContainer
Parameters:
atoms - The array of atoms to be assigned to this AtomContainer
See Also:
getAtom(int)

setBonds

public void setBonds(IBond[] bonds)
Sets the array of bonds of this AtomContainer.

Specified by:
setBonds in interface IAtomContainer
Parameters:
bonds - The array of bonds to be assigned to this AtomContainer
See Also:
getBond(int)

setAtom

public void setAtom(int number,
                    IAtom atom)
Sets the atom at position number in [0,..].

Specified by:
setAtom in interface IAtomContainer
Parameters:
number - The position of the atom to be set.
atom - The atom to be stored at position number
See Also:
getAtom(int)

getAtom

public IAtom getAtom(int number)
Get the atom at position number in [0,..].

Specified by:
getAtom in interface IAtomContainer
Parameters:
number - The position of the atom to be retrieved.
Returns:
The atomAt value
See Also:
setAtom(int, org.openscience.cdk.interfaces.IAtom), setAtoms(org.openscience.cdk.interfaces.IAtom[])

getBond

public IBond getBond(int number)
Get the bond at position number in [0,..].

Specified by:
getBond in interface IAtomContainer
Parameters:
number - The position of the bond to be retrieved.
Returns:
The bondAt value

getLonePair

public ILonePair getLonePair(int number)
Get the lone pair at position number in [0,..].

Specified by:
getLonePair in interface IAtomContainer
Parameters:
number - The position of the LonePair to be retrieved.
Returns:
The lone pair number

getSingleElectron

public ISingleElectron getSingleElectron(int number)
Get the single electron at position number in [0,..].

Specified by:
getSingleElectron in interface IAtomContainer
Parameters:
number - The position of the SingleElectron to be retrieved.
Returns:
The single electron number

atoms

public Iterable<IAtom> atoms()
Returns an Iterable for looping over all atoms in this container.

Specified by:
atoms in interface IAtomContainer
Returns:
An Iterable with the atoms in this container

bonds

public Iterable<IBond> bonds()
Returns an Iterable for looping over all bonds in this container.

Specified by:
bonds in interface IAtomContainer
Returns:
An Iterable with the bonds in this container

lonePairs

public Iterable<ILonePair> lonePairs()
Returns an Iterable for looping over all lone pairs in this container.

Specified by:
lonePairs in interface IAtomContainer
Returns:
An Iterable with the lone pairs in this container

singleElectrons

public Iterable<ISingleElectron> singleElectrons()
Returns an Iterable for looping over all single electrons in this container.

Specified by:
singleElectrons in interface IAtomContainer
Returns:
An Iterable with the single electrons in this container

electronContainers

public Iterable<IElectronContainer> electronContainers()
Returns an Iterable for looping over all electron containers in this container.

Specified by:
electronContainers in interface IAtomContainer
Returns:
An Iterable with the electron containers in this container

getFirstAtom

public IAtom getFirstAtom()
Returns the atom at position 0 in the container.

Specified by:
getFirstAtom in interface IAtomContainer
Returns:
The atom at position 0 .

getLastAtom

public IAtom getLastAtom()
Returns the atom at the last position in the container.

Specified by:
getLastAtom in interface IAtomContainer
Returns:
The atom at the last position

getAtomNumber

public int getAtomNumber(IAtom atom)
Returns the position of a given atom in the atoms array. It returns -1 if the atom does not exist.

Specified by:
getAtomNumber in interface IAtomContainer
Parameters:
atom - The atom to be sought
Returns:
The Position of the atom in the atoms array in [0,..].

getBondNumber

public int getBondNumber(IAtom atom1,
                         IAtom atom2)
Returns the position of the bond between two given atoms in the electronContainers array. It returns -1 if the bond does not exist.

Specified by:
getBondNumber in interface IAtomContainer
Parameters:
atom1 - The first atom
atom2 - The second atom
Returns:
The Position of the bond between a1 and a2 in the electronContainers array.

getBondNumber

public int getBondNumber(IBond bond)
Returns the position of a given bond in the electronContainers array. It returns -1 if the bond does not exist.

Specified by:
getBondNumber in interface IAtomContainer
Parameters:
bond - The bond to be sought
Returns:
The Position of the bond in the electronContainers array in [0,..].

getLonePairNumber

public int getLonePairNumber(ILonePair lonePair)
Returns the position of a given lone pair in the lone pair array. It returns -1 if the lone pair does not exist.

Specified by:
getLonePairNumber in interface IAtomContainer
Parameters:
lonePair - The lone pair to be sought
Returns:
The Position of the lone pair in the array..

getSingleElectronNumber

public int getSingleElectronNumber(ISingleElectron singleElectron)
Returns the position of a given single electron in the single electron array. It returns -1 if the single electron does not exist.

Specified by:
getSingleElectronNumber in interface IAtomContainer
Parameters:
singleElectron - The single electron to be sought
Returns:
The Position of the single electron in the array.

getElectronContainer

public IElectronContainer getElectronContainer(int number)
Returns the ElectronContainer at position number in the container.

Specified by:
getElectronContainer in interface IAtomContainer
Parameters:
number - The position of the ElectronContainer to be returned.
Returns:
The ElectronContainer at position number.
See Also:
IAtomContainer.addElectronContainer(IElectronContainer)

getBond

public IBond getBond(IAtom atom1,
                     IAtom atom2)
Returns the bond that connects the two given atoms.

Specified by:
getBond in interface IAtomContainer
Parameters:
atom1 - The first atom
atom2 - The second atom
Returns:
The bond that connects the two atoms

getAtomCount

public int getAtomCount()
Returns the number of Atoms in this Container.

Specified by:
getAtomCount in interface IAtomContainer
Returns:
The number of Atoms in this Container

getBondCount

public int getBondCount()
Returns the number of Bonds in this Container.

Specified by:
getBondCount in interface IAtomContainer
Returns:
The number of Bonds in this Container

getLonePairCount

public int getLonePairCount()
Returns the number of LonePairs in this Container.

Specified by:
getLonePairCount in interface IAtomContainer
Returns:
The number of LonePairs in this Container

getSingleElectronCount

public int getSingleElectronCount()
Returns the number of the single electrons in this container,

Specified by:
getSingleElectronCount in interface IAtomContainer
Returns:
The number of SingleElectron objects of this AtomContainer

getElectronContainerCount

public int getElectronContainerCount()
Returns the number of ElectronContainers in this Container.

Specified by:
getElectronContainerCount in interface IAtomContainer
Returns:
The number of ElectronContainers in this Container

getConnectedAtomsList

public List<IAtom> getConnectedAtomsList(IAtom atom)
Returns an ArrayList of all atoms connected to the given atom.

Specified by:
getConnectedAtomsList in interface IAtomContainer
Parameters:
atom - The atom the bond partners are searched of.
Returns:
The ArrayList with the connected atoms

getConnectedBondsList

public List<IBond> getConnectedBondsList(IAtom atom)
Returns an ArrayList of all Bonds connected to the given atom.

Specified by:
getConnectedBondsList in interface IAtomContainer
Parameters:
atom - The atom the connected bonds are searched of
Returns:
The ArrayList with connected atoms

getConnectedLonePairsList

public List<ILonePair> getConnectedLonePairsList(IAtom atom)
Returns the array of lone pairs connected to an atom.

Specified by:
getConnectedLonePairsList in interface IAtomContainer
Parameters:
atom - The atom for which to get lone pairs
Returns:
The array of LonePairs of this AtomContainer
See Also:
getElectronContainer(int), electronContainers(), getBond(int)

getConnectedSingleElectronsList

public List<ISingleElectron> getConnectedSingleElectronsList(IAtom atom)
Returns an array of all SingleElectron connected to the given atom.

Specified by:
getConnectedSingleElectronsList in interface IAtomContainer
Parameters:
atom - The atom on which the single electron is located
Returns:
The array of SingleElectron of this AtomContainer

getConnectedElectronContainersList

public List<IElectronContainer> getConnectedElectronContainersList(IAtom atom)
Returns an ArrayList of all electronContainers connected to the given atom.

Specified by:
getConnectedElectronContainersList in interface IAtomContainer
Parameters:
atom - The atom the connected electronContainers are searched of
Returns:
The ArrayList with the connected atoms

getConnectedAtomsCount

public int getConnectedAtomsCount(IAtom atom)
Returns the number of atoms connected to the given atom.

Specified by:
getConnectedAtomsCount in interface IAtomContainer
Parameters:
atom - The atom the number of bond partners are searched of.
Returns:
The the size of connected atoms

getConnectedBondsCount

public int getConnectedBondsCount(IAtom atom)
Returns the number of Bonds for a given Atom.

Specified by:
getConnectedBondsCount in interface IAtomContainer
Parameters:
atom - The atom
Returns:
The number of Bonds for this atom

getConnectedBondsCount

public int getConnectedBondsCount(int atomNumber)
Returns the number of connected atoms (degree) to the given atom.

Specified by:
getConnectedBondsCount in interface IAtomContainer
Parameters:
atomNumber - The atomnumber the degree is searched for
Returns:
The number of connected atoms (degree)

getConnectedLonePairsCount

public int getConnectedLonePairsCount(IAtom atom)
Returns the number of LonePairs for a given Atom.

Specified by:
getConnectedLonePairsCount in interface IAtomContainer
Parameters:
atom - The atom
Returns:
The number of LonePairs for this atom

getConnectedSingleElectronsCount

public int getConnectedSingleElectronsCount(IAtom atom)
Returns the sum of the SingleElectron for a given Atom.

Specified by:
getConnectedSingleElectronsCount in interface IAtomContainer
Parameters:
atom - The atom on which the single electron is located
Returns:
The array of SingleElectron of this AtomContainer

getBondOrderSum

public double getBondOrderSum(IAtom atom)
Deprecated. Replaced by AtomContainerManipulator#getBondOrderSum(IAtomContainer, IAtom)

Returns the sum of the bond orders for a given Atom.

Specified by:
getBondOrderSum in interface IAtomContainer
Parameters:
atom - The atom
Returns:
The number of bond orders for this atom

getMaximumBondOrder

public IBond.Order getMaximumBondOrder(IAtom atom)
Returns the maximum bond order that this atom currently has in the context of this AtomContainer.

Specified by:
getMaximumBondOrder in interface IAtomContainer
Parameters:
atom - The atom
Returns:
The maximum bond order that this atom currently has

getMinimumBondOrder

public IBond.Order getMinimumBondOrder(IAtom atom)
Returns the minimum bond order that this atom currently has in the context of this AtomContainer.

Specified by:
getMinimumBondOrder in interface IAtomContainer
Parameters:
atom - The atom
Returns:
The minimum bond order that this atom currently has

add

public void add(IAtomContainer atomContainer)
Adds all atoms and electronContainers of a given atomcontainer to this container.

Specified by:
add in interface IAtomContainer
Parameters:
atomContainer - The atomcontainer to be added

addAtom

public void addAtom(IAtom atom)
Adds an atom to this container.

Specified by:
addAtom in interface IAtomContainer
Parameters:
atom - The atom to be added to this container

addBond

public void addBond(IBond bond)
Adds a Bond to this AtomContainer.

Specified by:
addBond in interface IAtomContainer
Parameters:
bond - The bond to added to this container

addLonePair

public void addLonePair(ILonePair lonePair)
Adds a lone pair to this AtomContainer.

Specified by:
addLonePair in interface IAtomContainer
Parameters:
lonePair - The LonePair to added to this container

addSingleElectron

public void addSingleElectron(ISingleElectron singleElectron)
Adds a single electron to this AtomContainer.

Specified by:
addSingleElectron in interface IAtomContainer
Parameters:
singleElectron - The SingleElectron to added to this container

addElectronContainer

public void addElectronContainer(IElectronContainer electronContainer)
Adds a ElectronContainer to this AtomContainer.

Specified by:
addElectronContainer in interface IAtomContainer
Parameters:
electronContainer - The ElectronContainer to added to this container

remove

public void remove(IAtomContainer atomContainer)
Removes all atoms and electronContainers of a given atomcontainer from this container.

Specified by:
remove in interface IAtomContainer
Parameters:
atomContainer - The atomcontainer to be removed

removeAtom

public void removeAtom(int position)
Removes the atom at the given position from the AtomContainer. Note that the electronContainers are unaffected: you also have to take care of removing all electronContainers to this atom from the container manually.

Specified by:
removeAtom in interface IAtomContainer
Parameters:
position - The position of the atom to be removed.

removeAtom

public void removeAtom(IAtom atom)
Removes the given atom from the AtomContainer. Note that the electronContainers are unaffected: you also have to take care of removing all electronContainers to this atom from the container.

Specified by:
removeAtom in interface IAtomContainer
Parameters:
atom - The atom to be removed

removeBond

public IBond removeBond(int position)
Removes the bond at the given position from the AtomContainer.

Specified by:
removeBond in interface IAtomContainer
Parameters:
position - The position of the bond to be removed.
Returns:
the bond at the given position

removeBond

public IBond removeBond(IAtom atom1,
                        IAtom atom2)
Removes the bond that connects the two given atoms.

Specified by:
removeBond in interface IAtomContainer
Parameters:
atom1 - The first atom
atom2 - The second atom
Returns:
The bond that connects the two atoms

removeBond

public void removeBond(IBond bond)
Removes the bond from this container.

Specified by:
removeBond in interface IAtomContainer
Parameters:
bond - The bond to be removed.

removeLonePair

public ILonePair removeLonePair(int position)
Removes the lone pair at the given position from the AtomContainer.

Specified by:
removeLonePair in interface IAtomContainer
Parameters:
position - The position of the LonePair to be removed.
Returns:
The removed ILonePair.

removeLonePair

public void removeLonePair(ILonePair lonePair)
Removes the lone pair from the AtomContainer.

Specified by:
removeLonePair in interface IAtomContainer
Parameters:
lonePair - The LonePair to be removed.

removeSingleElectron

public ISingleElectron removeSingleElectron(int position)
Removes the single electron at the given position from the AtomContainer.

Specified by:
removeSingleElectron in interface IAtomContainer
Parameters:
position - The position of the SingleElectron to be removed.
Returns:
The removed ISingleElectron

removeSingleElectron

public void removeSingleElectron(ISingleElectron singleElectron)
Removes the single electron from the AtomContainer.

Specified by:
removeSingleElectron in interface IAtomContainer
Parameters:
singleElectron - The SingleElectron to be removed.

removeElectronContainer

public IElectronContainer removeElectronContainer(int number)
Removes the bond at the given position from this container.

Specified by:
removeElectronContainer in interface IAtomContainer
Parameters:
number - The position of the bond in the electronContainers array
Returns:
Bond that was removed

removeElectronContainer

public void removeElectronContainer(IElectronContainer electronContainer)
Removes this ElectronContainer from this container.

Specified by:
removeElectronContainer in interface IAtomContainer
Parameters:
electronContainer - The electronContainer to be removed

removeAtomAndConnectedElectronContainers

public void removeAtomAndConnectedElectronContainers(IAtom atom)
Removes the given atom and all connected electronContainers from the AtomContainer.

Specified by:
removeAtomAndConnectedElectronContainers in interface IAtomContainer
Parameters:
atom - The atom to be removed

removeAllElements

public void removeAllElements()
Removes all atoms and bond from this container.

Specified by:
removeAllElements in interface IAtomContainer

removeAllElectronContainers

public void removeAllElectronContainers()
Removes electronContainers from this container.

Specified by:
removeAllElectronContainers in interface IAtomContainer

removeAllBonds

public void removeAllBonds()
Removes all Bonds from this container.

Specified by:
removeAllBonds in interface IAtomContainer

addBond

public void addBond(int atom1,
                    int atom2,
                    IBond.Order order,
                    IBond.Stereo stereo)
Adds a bond to this container.

Specified by:
addBond in interface IAtomContainer
Parameters:
atom1 - Id of the first atom of the Bond in [0,..]
atom2 - Id of the second atom of the Bond in [0,..]
order - Bondorder
stereo - Stereochemical orientation

addBond

public void addBond(int atom1,
                    int atom2,
                    IBond.Order order)
Adds a bond to this container.

Specified by:
addBond in interface IAtomContainer
Parameters:
atom1 - Id of the first atom of the Bond in [0,..]
atom2 - Id of the second atom of the Bond in [0,..]
order - Bondorder

addLonePair

public void addLonePair(int atomID)
Adds a LonePair to this Atom.

Specified by:
addLonePair in interface IAtomContainer
Parameters:
atomID - The atom number to which the LonePair is added in [0,..]

addSingleElectron

public void addSingleElectron(int atomID)
Adds a LonePair to this Atom.

Specified by:
addSingleElectron in interface IAtomContainer
Parameters:
atomID - The atom number to which the LonePair is added in [0,..]

contains

public boolean contains(IAtom atom)
True, if the AtomContainer contains the given atom object.

Specified by:
contains in interface IAtomContainer
Parameters:
atom - the atom this AtomContainer is searched for
Returns:
true if the AtomContainer contains the given atom object

contains

public boolean contains(IBond bond)
True, if the AtomContainer contains the given bond object.

Specified by:
contains in interface IAtomContainer
Parameters:
bond - the bond this AtomContainer is searched for
Returns:
true if the AtomContainer contains the given bond object

contains

public boolean contains(ILonePair lonePair)
True, if the AtomContainer contains the given LonePair object.

Specified by:
contains in interface IAtomContainer
Parameters:
lonePair - the LonePair this AtomContainer is searched for
Returns:
true if the AtomContainer contains the given LonePair object

contains

public boolean contains(ISingleElectron singleElectron)
True, if the AtomContainer contains the given SingleElectron object.

Specified by:
contains in interface IAtomContainer
Parameters:
singleElectron - the LonePair this AtomContainer is searched for
Returns:
true if the AtomContainer contains the given LonePair object

contains

public boolean contains(IElectronContainer electronContainer)
True, if the AtomContainer contains the given ElectronContainer object.

Specified by:
contains in interface IAtomContainer
Parameters:
electronContainer - ElectronContainer that is searched for
Returns:
true if the AtomContainer contains the given bond object

toString

public String toString()
Returns a one line string representation of this Container. This method is conform RFC #9.

Specified by:
toString in interface IChemObject
Overrides:
toString in class Object
Returns:
The string representation of this Container

clone

public Object clone()
             throws CloneNotSupportedException
Clones this AtomContainer object and its content.

Specified by:
clone in interface IChemObject
Overrides:
clone in class ChemObject
Returns:
The cloned object
Throws:
CloneNotSupportedException - if the IChemObject cannot be cloned
See Also:
ChemObject.shallowCopy()

stateChanged

public void stateChanged(IChemObjectChangeEvent event)
Called by objects to which this object has registered as a listener.

Specified by:
stateChanged in interface IChemObjectListener
Parameters:
event - A change event pointing to the source of the change