/* * 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 examples.supergene; import org.jgap.*; import org.jgap.impl.*; import org.jgap.supergenes.*; /** * Supergene to hold pennies and nickels. Valid if the number of * nickels and pennies is either both odd or both even. * * @author Audrius Meskauskas * @since 2.0 */ public class NickelsPenniesSupergene extends AbstractSupergene { /** String containing the CVS revision. Read out via reflection!*/ private final static String CVS_REVISION = "$Revision: 1.3 $"; /** * Default constructor for dynamic instantiation * * @throws InvalidConfigurationException * * @author Klaus Meffert * @since 3.0 */ public NickelsPenniesSupergene() throws InvalidConfigurationException { super(); } public NickelsPenniesSupergene(final Configuration a_conf) throws InvalidConfigurationException { super(a_conf); } public NickelsPenniesSupergene(final Configuration a_conf, Gene[] a_genes) throws InvalidConfigurationException { super(a_conf, a_genes); } public boolean isValid(Gene[] a_genes, Supergene a_supergene) { IntegerGene nickels = (IntegerGene) a_genes[0]; IntegerGene pennies = (IntegerGene) a_genes[1]; boolean valid = nickels.intValue() % 2 == pennies.intValue() % 2; return valid; } }