Class JavaSourceStorage

Direct Known Subclasses:
ExportStorage, ObjectiveStorage, OptimizationStorage, ResultInfoStorage, RuleStorage, ScriptStorage, SensitivityAnalysisStorage, SimulationPlanStorage, SimulatorStorage

public abstract class JavaSourceStorage extends CodeSourceStorage
Classes abstraite permettant la gestion des fichiers de code source. Exemple : SimulationPlanStorage ExportStorage, RuleStorage, ScriptStorage, SensitivityAnalysisStorage, SimulatorStorage
Version:
$Revision$ Last update: $Date$ by : $Author$
Author:
poussin
  • Field Details

    • PARAM_PREFIX

      protected static final String PARAM_PREFIX
      Le prefix de tous les attributs java manipulable par Isis.
      See Also:
  • Constructor Details

    • JavaSourceStorage

      protected JavaSourceStorage(File rootSrc, File directory, String name)
      Build a new java source storage.
      Parameters:
      rootSrc - sources root directory
      directory - class location directory (rootSrc subdirectory)
      name - class name
  • Method Details

    • getPackage

      public abstract String getPackage()
      Get package name where script should be declared.
      Returns:
      package declaration
    • getFQN

      public String getFQN()
      Return class fully qualified name.
      Returns:
      class name including package name
    • getName

      public static String getName(Object instance)
      Retourne le nom de la classe (sans le package) a partir d'un objet.
      Parameters:
      instance - l'instance dont on veut le nom
      Returns:
      le nom de la classe ou null si instance est null
    • compile

      public int compile(boolean force, PrintWriter out)
      Compile cette classe dans le répertoire par defaut de compilation (IsisConfig.getCompileDirectory())
      Parameters:
      force - si vrai alors meme si le fichier destination est plus recent la compilation aura lieu
      out - le flux sur lequel le resultat de la compilation doit apparaitre. Peut-etre null, dans ce cas les sorties standards sont utilisées.
      Returns:
      0 si la compilation a reussi, une autre valeur sinon
    • doJavadoc

      public int doJavadoc(boolean force, PrintWriter out)
      Build class javadoc. Ouput javadoc will be stored in default javadoc directory : IsisConfig.getJavadocDirectory()
      Parameters:
      force - force javadoc build even if destination file is never
      out - output print stream. if null standart output will be used
      Returns:
      0 si la generation a reussi, une autre valeur sinon
    • getCodeClass

      public <E> Class<E> getCodeClass() throws IsisFishException
      Retourne la classe compilée. Compile le fichier si besoin.
      Returns:
      la class
      Throws:
      IsisFishException
    • getNewInstance

      public <E> E getNewInstance() throws IsisFishException
      Retourne une nouvelle instance de la class. Compile le fichier si besoin.
      Returns:
      une nouvelle instance de la class
      Throws:
      IsisFishException - if can't make new instance
    • getFieldDoc

      protected static String getFieldDoc(Class klass, String paramName) throws SecurityException, NoSuchFieldException
      Throws:
      SecurityException
      NoSuchFieldException
    • getParameterDoc

      public static String getParameterDoc(Object object, String paramName)
      Get doc of parameter.
      Parameters:
      object - object containing parameter
      paramName - parameter name
      Returns:
      Doc value
    • getDescription

      public String getDescription()
      Get docable element description.
    • getParameterNamesAndField

      public static Map<String,Field> getParameterNamesAndField(Object instance)
      Recherche par introspection tous les parametres de la classe commencant par PARAM_PREFIX.
      Parameters:
      instance - the instance to inspect
      Returns:
      the list of parameters for a given export
    • getParameterValue

      public static Object getParameterValue(Object instance, String name) throws IsisFishException
      Donne la valeur d'un parametre par introspection.
      Parameters:
      name - le nom du parametre
      instance - the instance to inspect
      Returns:
      la valeur courante du parametre
      Throws:
      IsisFishException - if any exception
    • getParameterType

      public static Class getParameterType(Object instance, String name) throws IsisFishException
      Donne le type d'un paramametre par introspection. Utilisé dans le cas de la définition de facteur d'analyse de sensibilité sur les parametres de regles.
      Parameters:
      instance - intance to inspect
      name - parameter name
      Returns:
      parameter type
      Throws:
      IsisFishException - if parameter doesn't exists
    • setParameterValue

      public static void setParameterValue(Object instance, String name, Object value) throws IsisFishException
      Modifie la valeur d'un attribut par introspection.
      Parameters:
      name - le nom de l'attribut
      value - la valeur de l'attribut
      instance - the instance to inspect
      Throws:
      IsisFishException - if any exception
    • getParamAsString

      public static String getParamAsString(Object instance) throws IsisFishException
      Recupere les parametres et leur valeur pour les retourner sous forme de chaine. Pour pouvoir par exemple les afficher a l'utilisateur.
      Parameters:
      instance - the instance to inspect
      Returns:
      a string representation of parameters and their values for a given rule
      Throws:
      IsisFishException - if any exception
    • clone

      public static Object clone(Object instance)
      Clone une instance en recopiant manuellement les champs "param_".