Class EvaluatorHelper

java.lang.Object
fr.ifremer.isisfish.util.EvaluatorHelper

public class EvaluatorHelper extends Object
Permet d'evaluer les equations ecritent en Java Created: 3 juil. 2006 23:44:48
Version:
$Revision$ Last update: $Date$ by : $Author$
Author:
poussin
  • Field Details

    • FORMULE_CACHE_FILE

      public static final String FORMULE_CACHE_FILE
      See Also:
    • grepImportPattern

      protected static Pattern grepImportPattern
      Regex to match import: - "^(import ...;)" for import at line beginning - ";(import ...;)" for multiple import on same line
  • Constructor Details

    • EvaluatorHelper

      public EvaluatorHelper()
  • Method Details

    • getHashCache

      protected static String getHashCache(File fileCheckSum)
    • setHashCache

      protected static void setHashCache(File fileCheckSum, String hashcode)
    • getFormuleCacheFile

      protected static File getFormuleCacheFile(File directory)
    • exportCache

      public static String exportCache(File directory)
    • importCache

      public static void importCache(File directory)
    • normalizeClassName

      protected static String normalizeClassName(String name)
    • check

      public static int check(Class javaInterface, String script, PrintWriter out)
      Verifie si un script (prescript/equation) est syntaxiquement correct.
      Parameters:
      javaInterface -
      script -
      out - output writer (can be null for non output)
      Returns:
      0 si ok
    • compileAndGetClass

      protected static Class compileAndGetClass(String packageName, String className, Class javaInterface, String script)
      Prend un script d'equation, le convertit en Java, le compile et retour la classe. Si ce script a deja ete compile, retourne la classe existante
      Parameters:
      packageName - le nom de package de la classe
      className - le nom de la classe
      javaInterface - l'interface que la classe doit etendre, cette interface n'a qu'un methode
      script - le code de la methode
      Returns:
      la valeur retourné par la methode
    • catchEvaluateException

      public static void catchEvaluateException(Exception ex, org.apache.commons.logging.Log log)
      Throw Runtime or Non runtime exception depending on simulation state.
      Parameters:
      ex - exception to handle
    • evaluate

      public static Object evaluate(String packageName, String className, Class javaInterface, String script, Object... args)
      Evalue une equation.
      Parameters:
      packageName - le nom de package de la classe
      className - le nom de la classe
      javaInterface - l'interface que la classe doit etendre, cette interface n'a qu'un methode
      script - le code de la methode
      args - les arguments a utiliser pour l'appel de la methode
      Returns:
      la valeur retourné par la methode
    • evaluateNecessaryResult

      public static String[] evaluateNecessaryResult(String packageName, String className, Class javaInterface, String script)
      Evalue les necessaryResult d'une equation.
      Parameters:
      packageName - le nom de package de la classe
      className - le nom de la classe
      javaInterface - l'interface que la classe doit etendre, cette interface n'a qu'un methode
      script - le code de la methode
      Returns:
      les necessaryResult
    • compile

      protected static void compile(File fileRootSrc, File fileSrc)
    • generateContent

      protected static String generateContent(String packageName, String className, Method interfaceMethod, String script)
      Generate script content. Warning, content are always on a unique single line (without \n) for debugging purpose.
      Parameters:
      packageName -
      className -
      interfaceMethod -
      script -
      Returns:
      script return (or null)
    • grepImport

      protected static void grepImport(String code, StringBuilder imports, StringBuilder others)
      looking for import in code. return all import as found in code in imports args all other code are put in others
      Parameters:
      code -
      imports -
      others -
    • generateNecessaryResult

      protected static void generateNecessaryResult(String code, StringBuilder necessaryResultContent, StringBuilder equationContent)
    • invoke

      protected static Object invoke(Class clazz, Method interfaceMethod, Object... args)