Class ObjectModelGenerator

  • All Implemented Interfaces:
    TemplateConfiguration
    Direct Known Subclasses:
    JavaGenerator

    public class ObjectModelGenerator
    extends AbstractGenerator<ObjectModel>
    Pour utiliser ce type de générateur il faut implanter au moins une des trois méthodes generateFrom... et le getFilenameFor... associé si l'on souhaite un nom de fichier convenable. Si dans une méthode generateFrom... on utilise pas le Writer alors aucun fichier n'est généré.
              public String getFilenameForClass(ObjectModelClass clazz){
              return super.getFilenameForClass(Clazz) + "Service.java";
              }
    
              public void generateFromClass(Writer output, ObjectModelClass clazz) throws IOException{
              if(clazz.getType().equals("service")){
               / *{
              public class .... {
    
              }
              }* /
              }
              }
     
    Le nom de l'argument writer doit absolument etre output et pas autre chose si vous souhaitez utiliser le processeur org.codelutin.processor.filters.GeneratorTemplatesFilter pour vous s'implifier l'écriture des templates. Created: 14 mars 2004
    Author:
    Benjamin Poussin - poussin@codelutin.com
    • Constructor Detail

      • ObjectModelGenerator

        public ObjectModelGenerator()
    • Method Detail

      • generateFromElement

        protected void generateFromElement​(Object element,
                                           File destDir,
                                           String filename,
                                           ObjectModelType type)
        Génération pour un élément du modèle (ou le modèle lui-même). Types possibles : ObjectModel, ObjectModelClassifier, ObjectModelClass, ObjectModelInterface et ObjectModelEnumeration. La méthode generateFromXXX dépend du type d'élément et peut être surchargée.
        Parameters:
        element - element à généré
        destDir - dossier de destination
        filename - nom du fichier de sortie
        type - type d'ObjectModel
        See Also:
        ObjectModelType
      • canGenerateElement

        protected boolean canGenerateElement​(Object element)
        Test if given element can be generated. An element can be generated if his package is in the Template.generatedPackages list or if Template.generatedPackages is null or empty.
        Parameters:
        element - element to test
        Returns:
        generation allowed
      • getFilenameForModel

        public String getFilenameForModel​(ObjectModel model)
        Par defaut cette methode retourne le getName du model. Si l'on souhaite utiliser la methode generateFromModel il vaut mieux surcharger cette methode
        Parameters:
        model - le modele utilise
        Returns:
        le nom du fichier a generer
      • getFilenameForPackage

        public String getFilenameForPackage​(ObjectModel model,
                                            String packageName)
        Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto
        Parameters:
        model - le modele utilise
        packageName - le nom du paquetage
        Returns:
        le repertoire correspondant au paquetage
      • getFilenameForInterface

        public String getFilenameForInterface​(ObjectModelInterface interfacez)
        Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto
        Parameters:
        interfacez - l'interface utilisee
        Returns:
        le nom du l'interface a generer
      • getFilenameForClass

        public String getFilenameForClass​(ObjectModelClass clazz)
        Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto
        Parameters:
        clazz - la classe utilisee
        Returns:
        le nom de la classe a generer
      • getFilenameForClassifier

        public String getFilenameForClassifier​(ObjectModelClassifier classifier)
        Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto
        Parameters:
        classifier - le classifier utilisee
        Returns:
        le nom du classifier a generer