org.nuiton.eugene.java
Class JavaGenerator

java.lang.Object
  extended by org.nuiton.eugene.Template<M>
      extended by org.nuiton.eugene.AbstractGenerator<ObjectModel>
          extended by org.nuiton.eugene.models.object.ObjectModelGenerator
              extended by org.nuiton.eugene.java.JavaGenerator
All Implemented Interfaces:
TemplateConfiguration

public class JavaGenerator
extends ObjectModelGenerator

JavaGenerator Created: 22 oct. 2009

Version:
$Id: JavaGenerator.java 1124 2011-12-19 22:23:28Z tchemit $ Stupid generation of an ObjectModel with Java classes and interfaces. Use of ImportsManager to get imports for a classifier (added in model in the JavaBuilder which construct the ObjectModel). The JavaGenerator is based on a ObjectModelGenerator : Java classes are represented by ObjectModelClass, ...
Author:
fdesbois
Plexus component:
role:
"org.nuiton.eugene.Template"
role-hint:
"org.nuiton.eugene.java.JavaGenerator"

Field Summary
protected  int innerLevel
           
protected  String prefix
           
 
Fields inherited from class org.nuiton.eugene.AbstractGenerator
parent
 
Fields inherited from class org.nuiton.eugene.Template
configuration, excludeTemplates, generatedPackages, model
 
Fields inherited from interface org.nuiton.eugene.TemplateConfiguration
PROP_CLASS_LOADER, PROP_DEFAULT_PACKAGE, PROP_ENCODING, PROP_EXCLUDE_TEMPLATES, PROP_GENERATED_PACKAGES, PROP_LAST_MODIFIED_SOURCE, PROP_OVERWRITE, PROP_VERBOSE, PROP_WRITER_REPORT
 
Constructor Summary
JavaGenerator()
           
 
Method Summary
 void generateAnnotations(Writer output, ObjectModelClassifier clazz, ObjectModelElement element)
           
protected  void generateAttributes(Writer output, ObjectModelClassifier clazz, Collection<ObjectModelAttribute> attributes)
          Generate attributes from a collection of ObjectModelAttribute.
protected  void generateBlock(Writer output, ObjectModelClassifier clazz, ObjectModelOperation op)
           
 void generateFromClass(Writer output, ObjectModelClass input)
          Generate from all classes.
 void generateFromEnum(Writer output, ObjectModelEnumeration input)
           
 void generateFromEnumeration(Writer output, ObjectModelEnumeration input)
           
 void generateFromInterface(Writer output, ObjectModelInterface input)
           
protected  void generateHeader(Writer output, ObjectModelClassifier classifier)
          Generate Header for a classifier : Package, Documentation, Imports and Classifier signature.
 void generateInnerClassifiers(Writer output, Collection<ObjectModelClassifier> innerClassifiers)
           
protected  void generateOperationDocumentation(Writer output, ObjectModelOperation op)
           
protected  void generateOperations(Writer output, ObjectModelClassifier clazz, Collection<ObjectModelOperation> operations)
          Generate operations from a collection of ObjectModelOperation
 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
 String getFilenameForClassifier(ObjectModelClassifier clazz)
          Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto
 String getFilenameForEnumeration(ObjectModelEnumeration enumeration)
           
 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
protected  void preparePrefix(ObjectModelClassifier clazz)
           
 
Methods inherited from class org.nuiton.eugene.models.object.ObjectModelGenerator
applyTemplate, canGenerateElement, generateFromClassifier, generateFromElement, generateFromModel, getFilenameForModel, getFilenameForPackage
 
Methods inherited from class org.nuiton.eugene.AbstractGenerator
canGeneratePackage, getDestinationFile, getEncoding, getLastModifiedSource, getProperty, getProperty, getWriter, isNewerThanSource, isOverwrite, setParent, write
 
Methods inherited from class org.nuiton.eugene.Template
getClassLoader, getConfiguration, getExcludeTemplates, getGeneratedPackages, getModel, getOverwrite, getProperties, getWriterReport, isVerbose, setConfiguration, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

innerLevel

protected int innerLevel

prefix

protected String prefix
Constructor Detail

JavaGenerator

public JavaGenerator()
Method Detail

getFilenameForClass

public String getFilenameForClass(ObjectModelClass clazz)
Description copied from class: ObjectModelGenerator
Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto

Overrides:
getFilenameForClass in class ObjectModelGenerator
Parameters:
clazz - la classe utilisee
Returns:
le nom de la classe a generer

getFilenameForInterface

public String getFilenameForInterface(ObjectModelInterface interfacez)
Description copied from class: ObjectModelGenerator
Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto

Overrides:
getFilenameForInterface in class ObjectModelGenerator
Parameters:
interfacez - l'interface utilisee
Returns:
le nom du l'interface a generer

getFilenameForEnumeration

public String getFilenameForEnumeration(ObjectModelEnumeration enumeration)
Overrides:
getFilenameForEnumeration in class ObjectModelGenerator

getFilenameForClassifier

public String getFilenameForClassifier(ObjectModelClassifier clazz)
Description copied from class: ObjectModelGenerator
Par defaut cette methode retourne le QualifiedName convertie en chemin par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto

Overrides:
getFilenameForClassifier in class ObjectModelGenerator
Parameters:
clazz - le classifier utilisee
Returns:
le nom du classifier a generer

generateFromClass

public void generateFromClass(Writer output,
                              ObjectModelClass input)
                       throws IOException
Generate from all classes.

Overrides:
generateFromClass in class ObjectModelGenerator
Parameters:
output - Writer for generating the java file
input - Class to manage for creating an output file
Throws:
IOException - if any pb while writing file

generateFromInterface

public void generateFromInterface(Writer output,
                                  ObjectModelInterface input)
                           throws IOException
Overrides:
generateFromInterface in class ObjectModelGenerator
Throws:
IOException

generateAnnotations

public void generateAnnotations(Writer output,
                                ObjectModelClassifier clazz,
                                ObjectModelElement element)
                         throws IOException
Throws:
IOException

generateFromEnumeration

public void generateFromEnumeration(Writer output,
                                    ObjectModelEnumeration input)
                             throws IOException
Overrides:
generateFromEnumeration in class ObjectModelGenerator
Throws:
IOException

generateFromEnum

public void generateFromEnum(Writer output,
                             ObjectModelEnumeration input)
                      throws IOException
Overrides:
generateFromEnum in class ObjectModelGenerator
Throws:
IOException

generateInnerClassifiers

public void generateInnerClassifiers(Writer output,
                                     Collection<ObjectModelClassifier> innerClassifiers)
                              throws IOException
Throws:
IOException

preparePrefix

protected void preparePrefix(ObjectModelClassifier clazz)

generateHeader

protected void generateHeader(Writer output,
                              ObjectModelClassifier classifier)
                       throws IOException
Generate Header for a classifier : Package, Documentation, Imports and Classifier signature.

Parameters:
output - Writer for generating the java file
classifier - Classifier for generate header
Throws:
IOException - if any pb while writing file

generateAttributes

protected void generateAttributes(Writer output,
                                  ObjectModelClassifier clazz,
                                  Collection<ObjectModelAttribute> attributes)
                           throws IOException
Generate attributes from a collection of ObjectModelAttribute.

Parameters:
output - Writer for generating the java file
clazz - classifier in generation
attributes - Collection of ObjectModelAttribute to generate
Throws:
IOException - if any pb while writing file

generateOperations

protected void generateOperations(Writer output,
                                  ObjectModelClassifier clazz,
                                  Collection<ObjectModelOperation> operations)
                           throws IOException
Generate operations from a collection of ObjectModelOperation

Parameters:
output - Writer for generating the java file
clazz - classifier in generation
operations - Collection of ObjectModelOperation to generate
Throws:
IOException - if any pb while writing file

generateOperationDocumentation

protected void generateOperationDocumentation(Writer output,
                                              ObjectModelOperation op)
                                       throws IOException
Throws:
IOException

generateBlock

protected void generateBlock(Writer output,
                             ObjectModelClassifier clazz,
                             ObjectModelOperation op)
                      throws IOException
Throws:
IOException


Copyright © 2004-2012 CodeLutin. All Rights Reserved.