/* * This file is part of MoleculeViewer. * * MoleculeViewer 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 3 of the License, or * (at your option) any later version. * * MoleculeViewer 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 MoleculeViewer. If not, see <http://www.gnu.org/licenses/>. */ package astex.generic; import java.util.*; public interface GenericInterface { /** Some defined property constants. */ public static final String Name = "name"; /** Get Object representing key. */ public Object get(Object key, Object def); /** Set an object value. */ public Object set(Object key, Object value); /** Get an Enumeration of our parents. */ public Iterator<GenericInterface> getParents(Object type); /** Add a parent. */ public void addParent(GenericInterface parent); /** Remove a parent. */ public void removeParent(GenericInterface parent); /** Get an enumeration of our children. */ public Iterator<GenericInterface> getChildren(Object type); /** Add a child. */ public void addChild(GenericInterface child); /** Remove a child. */ public void removeChild(GenericInterface child); /** Add a listener. */ public void addListener(GenericEventInterface geh); /** Remove a listener. */ public void removeListener(GenericEventInterface geh); }