/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing information please see the file license.txt included with JGAP
* or have a look at the top of class org.jgap.Chromosome which representatively
* includes the JGAP license policy applicable for any file delivered with JGAP.
*/
package org.jgap.data;
/**
* The IDataCreators interface represents an entity comparable to
* org.w3c.dom.Document
*
* @author Klaus Meffert
* @since 2.0
*/
public interface IDataCreators {
/** String containing the CVS revision. Read out via reflection!*/
final static String CVS_REVISION = "$Revision: 1.6 $";
void setTree(IDataElementList a_tree);
/**
* @return the tree (of elements) held by the implementing class
*
* @author Klaus Meffert
* @since 2.0
*/
IDataElementList getTree();
/**
* Constructs a new instance of the entity implementing IDataCreators
* @throws Exception
* @return new instance of the entity itself
*
* @author Klaus Meffert
* @since 2.0
*/
IDataCreators newDocument()
throws Exception;
/**
* Appends a child element to the tree
* @param a_newChild the child to be added to the tree
* @throws Exception
*
* @author Klaus Meffert
* @since 2.0
*/
void appendChild(IDataElement a_newChild)
throws Exception;
}