Package org.nuiton.eugene
Class AbstractGenerator<M extends Model>
- java.lang.Object
-
- org.nuiton.eugene.Template<M>
-
- org.nuiton.eugene.AbstractGenerator<M>
-
- Type Parameters:
M- type of Model
- All Implemented Interfaces:
TemplateConfiguration
- Direct Known Subclasses:
AbstractMetaTransformer,ObjectModelGenerator,StateModelGenerator
public abstract class AbstractGenerator<M extends Model> extends Template<M>
AbstractGenerator Created: 28 oct. 2009- Author:
- Florian Desbois - desbois@codelutin.com
-
-
Field Summary
Fields Modifier and Type Field Description protected AbstractGenerator<M>parent-
Fields inherited from class org.nuiton.eugene.Template
configuration, excludeTemplates, generatedPackages, model, resourcesHelper
-
Fields inherited from interface org.nuiton.eugene.TemplateConfiguration
PROP_CLASS_LOADER, PROP_DEFAULT_PACKAGE, PROP_ENCODING, PROP_EXCLUDE_TEMPLATES, PROP_GENERATED_PACKAGES, PROP_I18N_GETTER_FILE, PROP_LAST_MODIFIED_SOURCE, PROP_OUTPUT_DIRECTORY, PROP_OVERWRITE, PROP_RESOURCE_DIRECTORY, PROP_VERBOSE, PROP_WRITER_REPORT
-
-
Constructor Summary
Constructors Constructor Description AbstractGenerator()AbstractGenerator(AbstractGenerator<M> parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancanGeneratePackage(String packageName)Test if given package is allowed for generation.protected FilegetDestinationFile(File destDir, String filename)StringgetEncoding()longgetLastModifiedSource()StringgetProperty(String name)<V> VgetProperty(String key, Class<V> type)protected WritergetWriter(File outputFile)protected booleanisNewerThanSource(File file)booleanisOverwrite()voidsetParent(AbstractGenerator<M> parent)protected voidwrite(File outputFile, MonitorWriter out)-
Methods inherited from class org.nuiton.eugene.Template
applyTemplate, getClassLoader, getConfiguration, getExcludeTemplates, getGeneratedPackages, getLog, getModel, getOverwrite, getProperties, getResourcesHelper, getWriterReport, isVerbose, setConfiguration, setLog, setProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuiton.eugene.TemplateConfiguration
getI18nGetterFile, setI18nGetterFile
-
-
-
-
Field Detail
-
parent
protected AbstractGenerator<M extends Model> parent
-
-
Constructor Detail
-
AbstractGenerator
public AbstractGenerator()
-
AbstractGenerator
public AbstractGenerator(AbstractGenerator<M> parent)
-
-
Method Detail
-
setParent
public void setParent(AbstractGenerator<M> parent)
-
isOverwrite
public boolean isOverwrite()
- Specified by:
isOverwritein interfaceTemplateConfiguration- Overrides:
isOverwritein classTemplate<M extends Model>- Returns:
trueif must regenerate files even if they are up to date
-
getEncoding
public String getEncoding()
- Specified by:
getEncodingin interfaceTemplateConfiguration- Overrides:
getEncodingin classTemplate<M extends Model>- Returns:
- encoding to use to read and write files
-
getProperty
public String getProperty(String name)
- Specified by:
getPropertyin interfaceTemplateConfiguration- Overrides:
getPropertyin classTemplate<M extends Model>
-
getLastModifiedSource
public long getLastModifiedSource()
- Specified by:
getLastModifiedSourcein interfaceTemplateConfiguration- Overrides:
getLastModifiedSourcein classTemplate<M extends Model>
-
getProperty
public <V> V getProperty(String key, Class<V> type)
- Specified by:
getPropertyin interfaceTemplateConfiguration- Overrides:
getPropertyin classTemplate<M extends Model>
-
isNewerThanSource
protected boolean isNewerThanSource(File file)
- Parameters:
file- fichier a tester- Returns:
- vrai si le fichier passé en parametre est plus recent que les sources sur generateur.
-
canGeneratePackage
protected boolean canGeneratePackage(String packageName)
Test if given package is allowed for generation. An element can be generated if his package is in theTemplate.generatedPackageslist or ifTemplate.generatedPackagesis null or empty.- Parameters:
packageName- package name to test- Returns:
- generation allowed
-
write
protected void write(File outputFile, MonitorWriter out)
-
getWriter
protected Writer getWriter(File outputFile) throws IOException
- Throws:
IOException
-
-