Package search.searchtechniques

Source Code of search.searchtechniques.GeneFactory

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package search.searchtechniques;

import org.jgap.Configuration;
import org.jgap.Gene;
import org.jgap.InvalidConfigurationException;
import org.jgap.impl.IntegerGene;
import search.genes.BitFieldInstructionGene;
import search.genes.GeneType;
import search.genes.IntegerInstructionGene;
import search.genes.StackInstructionGene;
import search.genes.SymbolInstructionGene;

/**
*
* @author mat
*/
public class GeneFactory {
 
  GeneType type;
  int size;
 
  public GeneFactory(GeneType type, int size){
    this.type=type;
    this.size=size;
  }
 
  public Gene getInstance(Configuration gaConf) throws InvalidConfigurationException{
   
    Gene ret = null;
                switch(type){
                    case INTEGER:
                        return new IntegerInstructionGene(gaConf,size);
                    case SYMBOL:
                        return new SymbolInstructionGene(gaConf,size);
                    case BITFIELD:
                        return new BitFieldInstructionGene(gaConf,size);
                    case STACK:
                        return new StackInstructionGene(gaConf, size);
                    case FLAT:
                        return new IntegerGene(gaConf, 0, size);
                    case HCLUST:
                        return new IntegerGene(gaConf, 0, size + 2*(size - 1));
                    default:
                        throw new RuntimeException("Gene Type \"" + type
          + "\" is not a valid option.");
                }
               
  }

 

 
}
TOP

Related Classes of search.searchtechniques.GeneFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.