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; 11 12 /** 13 * Interface for Genes being composed by other genes. 14 * 15 * @author Klaus Meffert 16 * @since 2.6 17 */ 18 public interface ICompositeGene extends Gene { 19 /** String containing the CVS revision. Read out via reflection!*/ 20 static final String CVS_REVISION = "$Revision: 1.3 $"; 21 22 /** 23 * Adds a gene to the composed Gene 24 * @param a_gene the gene to add 25 * 26 * @author Klaus Meffert 27 * @since 2.6 (since earlier in CompositeGene) 28 */ 29 void addGene(Gene a_gene); 30 31 /** 32 * @param a_index index to return the gene at 33 * @return the gene at the given index 34 * 35 * @author Klaus Meffert 36 * @since 2.6 (since 1.1 in CompositeGene) 37 */ 38 Gene geneAt(int a_index); 39 } 40