1 /* 2 * This file is part of JGAP. 3 * 4 * JGAP offers a dual license model containing the LGPL as well as the MPL. 5 * 6 * For licencing information please see the file license.txt included with JGAP 7 * or have a look at the top of class org.jgap.Chromosome which representatively 8 * includes the JGAP license policy applicable for any file delivered with JGAP. 9 */ 10 package org.jgap.data; 11 12 /** 13 * The IDataCreators interface represents an entity comparable to 14 * org.w3c.dom.Document 15 * 16 * @author Klaus Meffert 17 * @since 2.0 18 */ 19 public interface IDataCreators { 20 /** String containing the CVS revision. Read out via reflection!*/ 21 final static String CVS_REVISION = "$Revision: 1.5 $"; 22 23 void setTree(IDataElementList a_tree); 24 25 /** 26 * @return the tree (of elements) held by the implementing class 27 * 28 * @author Klaus Meffert 29 * @since 2.0 30 */ 31 IDataElementList getTree(); 32 33 /** 34 * Constructs a new instance of the entity implementing IDataCreators 35 * @throws Exception 36 * @return new instance of the entity itself 37 * 38 * @author Klaus Meffert 39 * @since 2.0 40 */ 41 IDataCreators newDocument() 42 throws Exception; 43 44 /** 45 * Appends a child element to the tree 46 * @param a_newChild the child to be added to the tree 47 * @throws Exception 48 * 49 * @author Klaus Meffert 50 * @since 2.0 51 */ 52 void appendChild(IDataElement a_newChild) 53 throws Exception; 54 } 55