The Octet Molecular Representation Framework v0.8.2

net.sf.octet.model
Interface BondingSystem

All Superinterfaces:
AtomCollection, AtomGraph, AtomPairCollection
All Known Implementing Classes:
BasicBondingSystem, SimpleBondingSystem

public interface BondingSystem
extends AtomGraph

BondingSystem reflects a conceptually general model of chemical bonding. In this model, bonding exists between any number of Atoms and involves any number of electrons, including zero.

To provide a mechanism for precisely specifying the relationships of Atoms involved in a BondingSystem, each Atom in a BondingSystem is paired to at least one other Atom in the BondingSystem through an AtomPair.

Using this model for bonding, it is possible to represent any chemical structure, including some structures that will be undefinable in other file formats or toolkits. Specific examples of molecules where this approach might be useful include: ferrocene and other organometallic complexes; benzyne; the homotropylium cation; and sodium acetate and other salts.

The BondingSystem interface does not mandate a particuar notion of bonding, but rather supplies a sufficiently general language to enable the representation of any structure. Thus, clients are free to represent benzene as "cyclohexatriene" or as a six-membered carbocycle with one extended pi system comprised of all six carbon atoms and six electrons.

Implementations of BondingSystem are immutable in that every invocation of an interface method returns the same result over the lifetime of the object.

The BondingSystem interface is adapted from a concept presented in a paper by Andreas Dietz (J. Chem. Inf. Comput. Sci. 1995, 35 , 787).

Author:
Richard Apodaca
See Also:
"Immutable Pattern (Grand98)"

Method Summary
 int countAntibondingElectrons()
          Returns the number of antibonding electrons in this BondingSystem.
 int countBondingElectrons()
          Returns the number of bonding electrons associated with this BondingSystem.
 
Methods inherited from interface net.sf.octet.model.AtomGraph
countNeighbors, iterateNeighbors
 
Methods inherited from interface net.sf.octet.collection.AtomCollection
containsAtom, countAtoms, getAtom, getAtomIndex, iterateAtoms, toAtomArray
 
Methods inherited from interface net.sf.octet.collection.AtomPairCollection
containsAtomPair, containsAtomPair, countAtomPairs, getAtomPair, getAtomPair, getAtomPairIndex, iterateAtomPairs, toAtomPairArray
 

Method Detail

countBondingElectrons

public int countBondingElectrons()
Returns the number of bonding electrons associated with this BondingSystem.

Returns:
the number of bonding electrons in the specified BondingSystem

countAntibondingElectrons

public int countAntibondingElectrons()
Returns the number of antibonding electrons in this BondingSystem.

Returns:
the number of antibonding electrons in the specified BondingSystem

The Octet Molecular Representation Framework v0.8.2