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 }