1 /* Copyright (C) 2006-2007 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 * A sequence of ChemModels, which can, for example, be used to 23 * store the course of a reaction. Each state of the reaction would be 24 * stored in one ChemModel. 25 * 26 * @cdk.module interfaces 27 * @cdk.githash 28 * 29 * @cdk.keyword animation 30 * @cdk.keyword reaction 31 */ 32 public interface IChemSequence extends IChemObject { 33 34 /** 35 * Adds an chemModel to this container. 36 * 37 * @param chemModel The chemModel to be added to this container 38 * @see #getChemModel 39 */ addChemModel(IChemModel chemModel)40 public void addChemModel(IChemModel chemModel); 41 42 /** 43 * Remove a ChemModel from this ChemSequence. 44 * 45 * @param pos The position of the ChemModel to be removed. 46 */ removeChemModel(int pos)47 public void removeChemModel(int pos); 48 49 /** 50 * Returns an Iterable to ChemModels in this container. 51 * 52 * @return The Iterable to ChemModels in this container 53 * @see #addChemModel 54 */ chemModels()55 public Iterable<IChemModel> chemModels(); 56 57 /** 58 * Returns the ChemModel at position <code>number</code> in the 59 * container. 60 * 61 * @param number The position of the ChemModel to be returned. 62 * @return The ChemModel at position <code>number</code>. 63 * @see #addChemModel 64 */ getChemModel(int number)65 public IChemModel getChemModel(int number); 66 67 /** 68 * Returns the number of ChemModels in this Container. 69 * 70 * @return The number of ChemModels in this Container 71 */ getChemModelCount()72 public int getChemModelCount(); 73 74 } 75