📄 ichemobjectbuilder.java
字号:
/* $Revision: 7996 $ $Author: egonw $ $Date: 2007-02-24 17:48:55 +0100 (Sat, 24 Feb 2007) $ * * Copyright (C) 2006-2007 Egon Willighagen <egonw@users.sf.net> * * Contact: cdk-devel@lists.sourceforge.net * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */package org.openscience.cdk.interfaces;import javax.vecmath.Point3d;/** * A helper class to instantiate a IChemObject for a specific implementation. * * @author egonw * @cdk.module interfaces */public interface IChemObjectBuilder { /** * Constructs an completely unset IAminoAcid. * * @return IAminoAcid implementation defined for this IChemObjectBuilder */ public IAminoAcid newAminoAcid(); /** * Constructs an completely unset IAtom. * * @return IAtom implementation defined for this IChemObjectBuilder */ public IAtom newAtom(); /** * Constructs an IAtom from a String containing an element symbol. * * @param element The IElement from which the Atom should be constructed * @return IAtom implementation defined for this IChemObjectBuilder */ public IAtom newAtom(IElement element); /** * Constructs an IAtom from a String containing an element symbol. * * @param elementSymbol The String describing the element for the Atom * @return IAtom implementation defined for this IChemObjectBuilder */ public IAtom newAtom(String elementSymbol); /** * Constructs an IAtom from an Element and a Point2d. * * @param elementSymbol The Element * @param point2d The Point * @return IAtom implementation defined for this IChemObjectBuilder */ public IAtom newAtom(String elementSymbol, javax.vecmath.Point2d point2d); /** * Constructs an IAtom from an Element and a Point3d. * * @param elementSymbol The symbol of the atom * @param point3d The 3D coordinates of the atom * @return IAtom implementation defined for this IChemObjectBuilder */ public IAtom newAtom(String elementSymbol, javax.vecmath.Point3d point3d); /** * Constructs an empty IAtomContainer. * * @return IAtomContainer implementation defined for this IChemObjectBuilder */ public IAtomContainer newAtomContainer(); /** * Constructs an empty IAtomContainer 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 IAtom or IElectronContainer's. * * @param atomCount Number of atoms to be in this container * @param bondCount Number of bonds to be in this container * @param lonePairCount Number of lone pairs to be in this container * @param singleElectronCount Number of single electrons to be in this * container * * @return IAtomContainer implementation defined for * this IChemObjectBuilder */ public IAtomContainer newAtomContainer(int atomCount, int bondCount, int lonePairCount, int singleElectronCount); /** * Constructs an IAtomContainer with a copy of the atoms and electronContainers * of another IAtomContainer (A shallow copy, i.e., with the same objects as in * the original IAtomContainer). * * @param container An AtomContainer to copy the atoms and electronContainers from * @return IAtomContainer implementation defined for this IChemObjectBuilder */ public IAtomContainer newAtomContainer(IAtomContainer container); /** * Constructs an IAtomParity. * * @param centralAtom Atom for which the parity is defined * @param first First Atom of four that define the stereochemistry * @param second Second Atom of four that define the stereochemistry * @param third Third Atom of four that define the stereochemistry * @param fourth Fourth Atom of four that define the stereochemistry * @param parity +1 or -1, defining the parity * @return IAtomParity implementation defined for this IChemObjectBuilder */ public IAtomParity newAtomParity(IAtom centralAtom, IAtom first, IAtom second, IAtom third, IAtom fourth, int parity); /** * Constructor for the IAtomType object. * * @param elementSymbol Symbol of the atom * @return IAtomType implementation defined for this IChemObjectBuilder */ public IAtomType newAtomType(String elementSymbol); /** * Constructor for the IAtomType object. * * @param identifier An id for this atom type, like C3 for sp3 carbon * @param elementSymbol The element symbol identifying the element to which this atom type applies * @return IAtomType implementation defined for this IChemObjectBuilder */ public IAtomType newAtomType(String identifier, String elementSymbol); /** * Constructs an IAtomType from a String containing an element symbol. * * @param element The IElement from which the AtomType should be constructed * @return IAtomType implementation defined for this IChemObjectBuilder */ public IAtomType newAtomType(IElement element); /** * Contructs a new IBioPolymer to store the IStrands. * * @return IBioPolymer implementation defined for this IChemObjectBuilder */ public IBioPolymer newBioPolymer(); /** * Constructs an IPDBAtom from a IElement. * * @param element The Element for the PDBAtom * @return IPDBAtom implementation defined for this IChemObjectBuilder */ public IPDBAtom newPDBAtom(IElement element); /** * Constructs an IPDBAtom from a String containing an element symbol. * * @param symbol The String describing the element for the PDBAtom * @return IPDBAtom implementation defined for this IChemObjectBuilder */ public IPDBAtom newPDBAtom(String symbol); /** * Constructs an IPDBAtom from an Element and a Point3d. * * @param elementSymbol The symbol of the atom * @param point3d The 3D coordinates of the atom * @return IPDBAtom implementation defined for this IChemObjectBuilder */ public IPDBAtom newPDBAtom(String elementSymbol, Point3d point3d); /** * Contructs a new IPDBPolymer to store the IStrands. * * @return IPDBPolymer implementation defined for this IChemObjectBuilder */ public IPDBPolymer newPDBPolymer(); /** * Constructs an IPDBStructure. * * @return IPDBStructure implementation defined for this IChemObjectBuilder */ public IPDBStructure newPDBStructure(); /** * Constructs an IPDBMonomer. * * @return IPDBMonomer implementation defined for this IChemObjectBuilder */ public IPDBMonomer newPDBMonomer(); /** * Constructs an empty IBond. * * @return IBond implementation defined for this IChemObjectBuilder */ public IBond newBond(); /** * Constructs a IBond with a single bond order.. * * @param atom1 the first IAtom in the bond * @param atom2 the second IAtom in the bond * @return IBond implementation defined for this IChemObjectBuilder */ public IBond newBond(IAtom atom1, IAtom atom2); /** * Constructs a IBond with a given order. * * @param atom1 the first IAtom in the bond * @param atom2 the second IAtom in the bond * @param order the bond order * @return IBond implementation defined for this IChemObjectBuilder */ public IBond newBond(IAtom atom1, IAtom atom2, double order); /** * Constructs a IBond with a given order and stereo orientation from an array * of atoms. * * @param atom1 the first Atom in the bond * @param atom2 the second Atom in the bond * @param order the bond order * @param stereo a descriptor the stereochemical orientation of this bond * @return IBond implementation defined for this IChemObjectBuilder */ public IBond newBond(IAtom atom1, IAtom atom2, double order, int stereo); /** * Constructs an empty IChemFile. * * @return IChemFile implementation defined for this IChemObjectBuilder */ public IChemFile newChemFile(); /** * Constructs an new IChemModel with a null IMoleculeSet. * * @return IChemModel implementation defined for this IChemObjectBuilder */ public IChemModel newChemModel(); /** * Constructs an new IChemObject. * * @return IChemObject implementation defined for this IChemObjectBuilder */ public IChemObject newChemObject(); /** * Constructs an new IChemObject from an existing one. * * @return IChemObject implementation defined for this IChemObjectBuilder */ public IChemObject newChemObject(IChemObject object); /** * Constructs an empty IChemSequence. * * @return IChemSequence implementation defined for this IChemObjectBuilder */ public IChemSequence newChemSequence(); /** * Constructs a new ICrystal with zero length cell axis. * * @return ICrystal implementation defined for this IChemObjectBuilder */ public ICrystal newCrystal(); /** * Constructs a new ICrystal with zero length cell axis * and adds the atoms in the IAtomContainer as cell content. * * @param container the IAtomContainer providing the atoms and bonds * @return ICrystal implementation defined for this IChemObjectBuilder
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -