View Javadoc
1   /**
2    * @(#)ChromosomeProperties.java
3    * Copyright (C) 2008-2011 delhezi.com
4    *
5    * This class is released under the:
6    * GNU Lesser General Public License (LGPL) version 3 or later.
7    * http://www.gnu.org/copyleft/lesser.html
8    */
9   package com.delhezi.ga;
10  
11  import com.delhezi.ga.fitnessfunction.FitnessFunction;
12  //import java.util.logging.Logger;
13  
14  /**
15   * <code>ChromosomeProperties</code>: Parametry wspólne dla
16   * wszystkich chromosomów w ramach jednej instancji populacji.
17   * @version 1.0 2010-10-13
18   * @author <a href="mailto:wojciech.wolszczak@delhezi.com">
19   * Wojciech Wolszczak</a>
20   */
21  public final class ChromosomeProperties {
22  
23      /** Logger object. */
24      //private static final Logger LOGGER =
25      //    Logger.getLogger(ChromosomeProperties.class.getName());
26  
27      /** Delhezi Error Code. */
28      //private static final String DERC = "1-2-";
29  
30      /** Konstruktor. */
31      private ChromosomeProperties() {
32          super();
33      }
34  
35      /**
36       * Zwraca instancję obiektu.
37       * @return instancja obiektu.
38       * @since 1.0
39       */
40      public static ChromosomeProperties getInstance() {
41          return new ChromosomeProperties();
42      }
43  
44      /**
45       * Ustawia referencję do obiektu implementującego funkcję celu.
46       * @param fitnessFunction Referencja do obiektu implementującego
47       * funkcję celu.
48       * @since 1.0
49       */
50      public void setFitnessFunction(final FitnessFunction fitnessFunction) {
51          this.fitnessFunction = fitnessFunction;
52          }
53  
54      /**
55       * Zwraca referenceję do obiektu implementującego funkcję celu;
56       * Uwaga;
57       * Zwracana jest referencja do objektu a nie jego kopia;
58       * Jeśli za pomocą otrzymanej referencji dojdzie do modyfikacji objektu
59       * należy wykonać funkcję changed() klasy Chromosome w celu
60       * ponownego wyznaczenia wskaźnika przystosowania chromosomu.
61       * @return fitnessFunction Referencja do obiektu implementującego
62       * funkcję celu.
63       * @since 1.0
64       */
65      public FitnessFunction getFitnessFunction() {
66          return this.fitnessFunction;
67          }
68  
69      /** Referencja do obiektu implementującego funkcję celu. */
70      private FitnessFunction fitnessFunction;
71  }