View Javadoc
1   /**
2    * @(#)ScriptEngineDriver.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.fitnessfunction.drivers;
10  
11  import com.delhezi.ga.exception.GeneticAlgorithmException;
12  import com.delhezi.ga.utility.ScriptEngine;
13  
14  /**
15   * <code>ScriptEngineDriver</code>: Silnik skryptów dla funkcji celu.
16   * @version 1.0 2009-12-10
17   * @author <a href="mailto:wojciech.wolszczak@delhezi.com">
18   * Wojciech Wolszczak</a>
19   */
20  public class ScriptEngineDriver extends ScriptEngine
21                                         implements IFitnessFunctionDriver {
22  
23    /**
24     * Konstruktor.
25     * @param scriptEnginName Nazwa silnika skryptów. Przykładowe wartości:
26     *                        [js, rhino, JavaScript, javascript,
27     *                        ECMAScript, ecmascript].
28     * @param scriptPath  Bezwzględna ścieżka zakończona "/" do katalogu w
29     * którym składowane są skrytpy.
30     * @param scriptFile  Naza pliku ze skrytem.
31     * @throws GeneticAlgorithmException Propagacja DERC-1-9-1-1, DERC-1-9-1-2,
32     * DERC-1-9-1-3
33     * @since 1.0
34     */
35      public ScriptEngineDriver(final String scriptEnginName,
36                                final String scriptPath,
37                                final String scriptFile)
38      throws GeneticAlgorithmException {
39          super(scriptEnginName, scriptPath, scriptFile);
40      }
41  
42      /**
43       * Wywołuje funkcję celu zdefiniowaną w skrypcie.
44       * @param functionName Nazwa funkcji celu zdefiniowanej w skrypcie.
45       * @param args Argumenty do przekazania do wywoływanej funkcji.
46       * @return Wartość zwrócona przez funkcję celu.
47       * @throws GeneticAlgorithmException Propagacja DERC-1-9-1-4, DERC-1-9-1-5
48       * @since 1.0
49       */
50      public final double invokeFunction(final String functionName,
51                                         final Object... args)
52      throws GeneticAlgorithmException {
53          return (Double) super.invoke(functionName, args);
54      }
55  
56  }