1 /* Copyright (C) 2006-2007,2011 Egon Willighagen <egonw@users.sf.net> 2 * 3 * Contact: cdk-devel@lists.sourceforge.net 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public License 7 * as published by the Free Software Foundation; either version 2.1 8 * of the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 */ 19 package org.openscience.cdk.interfaces; 20 21 /** 22 * An object containing multiple MoleculeSet and 23 * the other lower level concepts like rings, sequences, 24 * fragments, etc. 25 * 26 * @cdk.module interfaces 27 * @cdk.githash 28 */ 29 public interface IChemModel extends IChemObject { 30 31 /** 32 * Returns the IAtomContainerSet of this ChemModel. 33 * 34 * @return The {@link IAtomContainerSet} of this ChemModel 35 * @see #setMoleculeSet 36 */ getMoleculeSet()37 public IAtomContainerSet getMoleculeSet(); 38 39 /** 40 * Sets the IAtomContainerSet of this ChemModel. 41 * 42 * @param setOfMolecules the content of this model 43 * @see #getMoleculeSet 44 */ setMoleculeSet(IAtomContainerSet setOfMolecules)45 public void setMoleculeSet(IAtomContainerSet setOfMolecules); 46 47 /** 48 * Returns the RingSet of this ChemModel. 49 * 50 * @return the ringset of this model 51 * @see #setRingSet 52 */ getRingSet()53 public IRingSet getRingSet(); 54 55 /** 56 * Sets the RingSet of this ChemModel. 57 * 58 * @param ringSet the content of this model 59 * @see #getRingSet 60 */ setRingSet(IRingSet ringSet)61 public void setRingSet(IRingSet ringSet); 62 63 /** 64 * Gets the Crystal contained in this ChemModel. 65 * 66 * @return The crystal in this model 67 * @see #setCrystal 68 */ getCrystal()69 public ICrystal getCrystal(); 70 71 /** 72 * Sets the Crystal contained in this ChemModel. 73 * 74 * @param crystal the Crystal to store in this model 75 * @see #getCrystal 76 */ setCrystal(ICrystal crystal)77 public void setCrystal(ICrystal crystal); 78 79 /** 80 * Gets the ReactionSet contained in this ChemModel. 81 * 82 * @return The ReactionSet in this model 83 * @see #setReactionSet 84 */ getReactionSet()85 public IReactionSet getReactionSet(); 86 87 /** 88 * Sets the ReactionSet contained in this ChemModel. 89 * 90 * @param sor the ReactionSet to store in this model 91 * @see #getReactionSet 92 */ setReactionSet(IReactionSet sor)93 public void setReactionSet(IReactionSet sor); 94 95 /** 96 * Returns true if this ChemModel is empty. 97 * 98 * @return a boolean indicating if this model has no content 99 */ isEmpty()100 public boolean isEmpty(); 101 102 } 103