|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator org.eclipse.ocl.examples.codegen.ecore.OCL2Java4genmodel
public class OCL2Java4genmodel
Entry point of the 'ocl2java4genmodel' generation module.
Field Summary | |
---|---|
static java.lang.String |
MODULE_FILE_NAME
The name of the module. |
static java.lang.String |
PROJECT_NAME
|
static java.lang.String[] |
TEMPLATE_NAMES
The name of the templates that are to be generated. |
Fields inherited from class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator |
---|
acceleoPropertiesLoaderService, generationArguments, generationID, generationListeners, model, module, originalResources, resourceFactoryRegistry, targetFolder |
Constructor Summary | |
---|---|
OCL2Java4genmodel()
Allows the public constructor to be used. |
|
OCL2Java4genmodel(org.eclipse.emf.ecore.EObject model,
java.io.File targetFolder,
java.util.List<? extends java.lang.Object> arguments)
This allows clients to instantiates a generator with all required information. |
|
OCL2Java4genmodel(org.eclipse.emf.common.util.URI modelURI,
java.io.File targetFolder,
java.util.List<? extends java.lang.Object> arguments)
This allows clients to instantiates a generator with all required information. |
Method Summary | |
---|---|
void |
addPropertiesFile(java.lang.String propertiesFile)
Adds a properties file in the list of properties files. |
protected org.eclipse.emf.common.util.URI |
createTemplateURI(java.lang.String entry)
|
void |
doGenerate(org.eclipse.emf.common.util.Monitor monitor)
Launches the generation described by this instance. |
protected java.net.URL |
findModuleURL(java.lang.String moduleName)
|
java.util.Map<java.lang.String,java.lang.String> |
generate(org.eclipse.emf.common.util.Monitor monitor)
|
java.util.List<org.eclipse.acceleo.engine.event.IAcceleoTextGenerationListener> |
getGenerationListeners()
If this generator needs to listen to text generation events, listeners can be returned from here. |
org.eclipse.acceleo.engine.generation.strategy.IAcceleoGenerationStrategy |
getGenerationStrategy()
If you need to change the way files are generated, this is your entry point. |
java.lang.String |
getModuleName()
This will be called in order to find and load the module that will be launched through this launcher. |
java.util.List<java.lang.String> |
getProperties()
If the module(s) called by this launcher require properties files, return their qualified path from here.Take note that the first added properties files will take precedence over subsequent ones if they contain conflicting keys. |
java.lang.String[] |
getTemplateNames()
This will be used to get the list of templates that are to be launched by this launcher. |
void |
initialize(org.eclipse.emf.ecore.EObject element,
java.io.File folder,
java.util.List<? extends java.lang.Object> arguments)
|
void |
initialize(org.eclipse.emf.common.util.URI modelURI,
java.io.File folder,
java.util.List<?> arguments)
|
static void |
main(java.lang.String[] args)
This can be used to launch the generation from a standalone application. |
protected void |
preInitialize()
|
void |
registerPackages(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
|
void |
registerPackagesGen(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
This can be used to update the resource set's package registry with all needed EPackages. |
void |
registerResourceFactories(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
This can be used to update the resource set's resource factory registry with all needed factories. |
Methods inherited from class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator |
---|
addGenerationListener, addListeners, addProperties, clearPackageRegistry, createAcceleoService, createURIConverter, getArguments, getModel, getModule, getOCLStdLibPackage, getPropertiesLoaderService, getTargetFolder, isInWorkspace, postGenerate, postInitialize, setGenerationID |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String MODULE_FILE_NAME
public static final java.lang.String[] TEMPLATE_NAMES
public static final java.lang.String PROJECT_NAME
Constructor Detail |
---|
public OCL2Java4genmodel()
initialize(EObject, File, List)
or
initialize(URI, File, List)
is called.
The main reason for this constructor is to allow clients of this
generation to call it from another Java file, as it allows for the
retrieval of getProperties()
and
getGenerationListeners()
.
public OCL2Java4genmodel(org.eclipse.emf.common.util.URI modelURI, java.io.File targetFolder, java.util.List<? extends java.lang.Object> arguments) throws java.io.IOException
modelURI
- URI where the model on which this generator will be used is located.targetFolder
- This will be used as the output folder for this generation : it will be the base path
against which all file block URLs will be resolved.arguments
- If the template which will be called requires more than one argument taken from the model,
pass them here.
java.io.IOException
- This can be thrown in three scenarios : the module cannot be found, it cannot be loaded, or
the model cannot be loaded.public OCL2Java4genmodel(org.eclipse.emf.ecore.EObject model, java.io.File targetFolder, java.util.List<? extends java.lang.Object> arguments) throws java.io.IOException
model
- We'll iterate over the content of this element to find Objects matching the first parameter
of the template we need to call.targetFolder
- This will be used as the output folder for this generation : it will be the base path
against which all file block URLs will be resolved.arguments
- If the template which will be called requires more than one argument taken from the model,
pass them here.
java.io.IOException
- This can be thrown in two scenarios : the module cannot be found, or it cannot be loaded.Method Detail |
---|
public static void main(java.lang.String[] args)
args
- Arguments of the generation.public void doGenerate(org.eclipse.emf.common.util.Monitor monitor) throws java.io.IOException
doGenerate
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
monitor
- This will be used to display progress information to the user.
java.io.IOException
- This will be thrown if any of the output files cannot be saved to disk.public java.util.Map<java.lang.String,java.lang.String> generate(org.eclipse.emf.common.util.Monitor monitor) throws java.io.IOException
generate
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
java.io.IOException
public java.util.List<org.eclipse.acceleo.engine.event.IAcceleoTextGenerationListener> getGenerationListeners()
getGenerationListeners
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
public org.eclipse.acceleo.engine.generation.strategy.IAcceleoGenerationStrategy getGenerationStrategy()
The default is DefaultStrategy
; it generates
files on the fly. If you only need to preview the results, return a new
PreviewStrategy
. Both of these aren't aware of
the running Eclipse and can be used standalone.
If you need the file generation to be aware of the workspace (A typical example is when you wanna
override files that are under clear case or any other VCS that could forbid the overriding), then
return a new WorkspaceAwareStrategy
.
Note, however, that this cannot be used standalone.
All three of these default strategies support merging through JMerge.
getGenerationStrategy
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
public java.lang.String getModuleName()
getModuleName
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
public java.util.List<java.lang.String> getProperties()
getProperties
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
ResourceBundle.getBundle(String)
public void addPropertiesFile(java.lang.String propertiesFile)
addPropertiesFile
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
propertiesFile
- The properties file to add.public java.lang.String[] getTemplateNames()
getTemplateNames
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
getModuleName()
.public void registerPackagesGen(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
resourceSet
- The resource set which registry has to be updated.public void registerPackages(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
registerPackages
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
public void registerResourceFactories(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
registerResourceFactories
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
resourceSet
- The resource set which registry has to be updated.public void initialize(org.eclipse.emf.ecore.EObject element, java.io.File folder, java.util.List<? extends java.lang.Object> arguments) throws java.io.IOException
initialize
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
java.io.IOException
public void initialize(org.eclipse.emf.common.util.URI modelURI, java.io.File folder, java.util.List<?> arguments) throws java.io.IOException
initialize
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
java.io.IOException
protected void preInitialize()
protected java.net.URL findModuleURL(java.lang.String moduleName)
findModuleURL
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
protected org.eclipse.emf.common.util.URI createTemplateURI(java.lang.String entry)
createTemplateURI
in class org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |