All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jgap.data.IDataCreators Maven / Gradle / Ivy

/*
 * 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;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy