|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.eugene.Template<M>
org.nuiton.eugene.AbstractGenerator<ObjectModel>
org.nuiton.eugene.models.object.ObjectModelGenerator
public class ObjectModelGenerator
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
| Field Summary |
|---|
| 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 | |
|---|---|
ObjectModelGenerator()
|
|
ObjectModelGenerator(AbstractGenerator<ObjectModel> parent)
|
|
| Method Summary | |
|---|---|
void |
applyTemplate(ObjectModel model,
File destDir)
Par defaut la methode appelle la methode generateFromModel(Writer, ObjectModel) puis boucle sur chaque
class en appelant la m?thode
generateFromClass(Writer, ObjectModelClass) puis boucle sur chaque
interface en appelant a méthode
generateFromInterface(Writer, ObjectModelInterface) et enfin sur chaque
énumération en appelant la méthode
generateFromEnumeration(Writer, ObjectModelEnumeration)
Le nom de fichier est récupérer pour chacun d'eux en appelant la méthode
getFilenameFor.... |
protected boolean |
canGenerateElement(Object element)
Test if given element can be generated. |
void |
generateFromClass(Writer output,
ObjectModelClass input)
|
void |
generateFromClassifier(Writer output,
ObjectModelClassifier input)
|
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). |
void |
generateFromEnum(Writer output,
ObjectModelEnumeration input)
|
void |
generateFromEnumeration(Writer output,
ObjectModelEnumeration input)
|
void |
generateFromInterface(Writer output,
ObjectModelInterface input)
|
void |
generateFromModel(Writer output,
ObjectModel input)
|
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 classifier)
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 |
String |
getFilenameForModel(ObjectModel model)
Par defaut cette methode retourne le getName du model. |
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 |
| 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 |
| Constructor Detail |
|---|
public ObjectModelGenerator()
public ObjectModelGenerator(AbstractGenerator<ObjectModel> parent)
| Method Detail |
|---|
public void applyTemplate(ObjectModel model,
File destDir)
throws IOException
generateFromModel(Writer, ObjectModel) puis boucle sur chaque
class en appelant la m?thode
generateFromClass(Writer, ObjectModelClass) puis boucle sur chaque
interface en appelant a méthode
generateFromInterface(Writer, ObjectModelInterface) et enfin sur chaque
énumération en appelant la méthode
generateFromEnumeration(Writer, ObjectModelEnumeration)
Le nom de fichier est récupérer pour chacun d'eux en appelant la méthode
getFilenameFor.... La methode generateFrom... n'utilise pas le Writer
alors le fichier n'est pas généré, si on l'utilise m?me pour ne rien
écrire alors le fichier sera généré.
applyTemplate in class Template<ObjectModel>model - le modele memoire a utiliserdestDir - le repertoire ou generer
IOException - pour tout pb
protected void generateFromElement(Object element,
File destDir,
String filename,
ObjectModelType type)
element - element à générédestDir - dossier de destinationfilename - nom du fichier de sortietype - type d'ObjectModelObjectModelTypeprotected boolean canGenerateElement(Object element)
Template.generatedPackages list or if Template.generatedPackages is
null or empty.
element - element to test
public String getFilenameForModel(ObjectModel model)
model - le modele utilise
public String getFilenameForPackage(ObjectModel model,
String packageName)
model - le modele utilisepackageName - le nom du paquetage
public String getFilenameForInterface(ObjectModelInterface interfacez)
interfacez - l'interface utilisee
public String getFilenameForClass(ObjectModelClass clazz)
clazz - la classe utilisee
public String getFilenameForClassifier(ObjectModelClassifier classifier)
classifier - le classifier utilisee
public String getFilenameForEnumeration(ObjectModelEnumeration enumeration)
public void generateFromModel(Writer output,
ObjectModel input)
throws IOException
IOException
public void generateFromInterface(Writer output,
ObjectModelInterface input)
throws IOException
IOException
public void generateFromEnum(Writer output,
ObjectModelEnumeration input)
throws IOException
IOException
public void generateFromClass(Writer output,
ObjectModelClass input)
throws IOException
IOException
public void generateFromClassifier(Writer output,
ObjectModelClassifier input)
throws IOException
IOException
public void generateFromEnumeration(Writer output,
ObjectModelEnumeration input)
throws IOException
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||