org.eclipse.emf.ant.taskdefs.codegen.ecore
Class GeneratorTask

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.eclipse.emf.ant.taskdefs.EMFTask
              extended by org.eclipse.emf.ant.taskdefs.codegen.ecore.GeneratorTask
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
EcoreGeneratorTask, JavaGeneratorTask, RoseGeneratorTask

public abstract class GeneratorTask
extends EMFTask

Base class for all the "generator tasks" that provides the common attributes and behavior. A "generator task" is an Ant task that encompasses the two operations performed when generating code with EMF: the creation of the EMF files (genmodel and ecore) from a given model specification and the code generation.

These are the common attributes provided by this class:

AttributeDescription
model The file that defines the model.
genModel The .genmodel file.
reconcileGenModel Specifies how the genmodel file is to be supposed to be handled. The possible values are:
  • overwrite - (default)Replaces the genmodel file if it exists;
  • keep - Doesn't generate the genmodel if one is provided; and
  • reload - Reloads the genmodel to reflect model changes.
generateJavaCode Boolean value indicating whether the java code should be generated. Should be set to false when you want to generate only the .ecore and .genmodel files
generateModelProject The model project will be only generated if this attribute is set to true and if the project's information is specified in the task.
The default value is true.
generateEditProject The edit project will be only generated if this attribute is set to true and if the project's information is specified in the task.
The default value is true.
generateEditorProject The editor project will be only generated if this attribute is set to true and if the project's information is specified in the task.
The default value is true.
templatePath The directory where your customized JET templates are located.
modelProject The directory where the files generated for the model will be placed into.
modelProjectFragmentPath The model project relative path of the source folder.
modelPluginID The ID of the generated model plugin.
autoBuild Boolean value that sets the Eclipse's 'Build Automatically' flag. If not specified, this task doesn't change the current workspace's setting.
sdo Boolean value indicating whether the SDO API should be generated.
copyright The copyright text.
jdkLevel The JDK level for the generated code. "1.4", "5.0", and "6.0" are valid values.
validateModel Boolean value indicating whether the Ecore model should be validated before generating the code.

If the Ant task knows how to handle multiple model specifications, <model> elements can be used (instead of the model attribute). Here's an example:

   <model uri="http://www.example.eclipse.org/library.xsd"/>
   <model file="c:/common.xsd"/>
 

Since:
2.1.0

Nested Class Summary
static class GeneratorTask.ModelLocation
           
static class GeneratorTask.ReconcileGenModelType
           
 
Field Summary
protected  java.lang.Boolean autoBuild
           
protected  org.apache.tools.ant.types.Commandline commandline
           
protected  java.lang.String copyright
           
protected  boolean generateEditorProject
           
protected  boolean generateEditProject
           
protected  boolean generateJavaCode
           
protected  boolean generateModelProject
           
protected  java.io.File genModel
           
protected static int GENMODEL_KEEP
           
protected static int GENMODEL_OVERWRITE
           
protected static int GENMODEL_RELOAD
           
protected  java.lang.String jdkLevel
           
protected  java.io.File model
           
protected  java.lang.String modelPluginID
           
protected  java.io.File modelProject
           
protected  java.lang.String modelProjectFragmentPath
           
protected  int reconcileGenModel
           
protected  boolean sdo
           
protected  java.io.File templatePath
           
protected  java.lang.String validateModel
           
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
GeneratorTask()
           
 
Method Summary
protected  void addGenModelArguments()
           
protected  void addGenModelPathArgument()
           
protected  void addModelPathArgument()
           
protected  void adjustEditAndEditorProjects()
           
protected  void checkAttributes()
          All the attribute checks should be performed in this method.
 org.apache.tools.ant.types.Commandline.Argument createArg()
           
protected abstract  void createGenModel(java.lang.String[] arguments)
           
 GeneratorTask.ModelLocation createModel()
           
protected  void doExecute()
          Performs the task specific code.
protected  void generateCodeFromGenModel(java.lang.String[] arguments)
           
protected  org.apache.tools.ant.types.Commandline getCommandline()
           
protected  java.util.List<java.lang.String> getGeneratorArguments()
           
protected  GenJDKLevel getJDKLevel()
           
 void setAutoBuild(boolean autoBuild)
           
 void setCopyright(java.lang.String copyright)
           
 void setGenerateEditorProject(boolean generate)
           
 void setGenerateEditProject(boolean generate)
           
 void setGenerateJavaCode(boolean generateJavaCode)
           
 void setGenerateModelProject(boolean generate)
           
 void setGenModel(java.io.File genModel)
           
 void setJdkLevel(java.lang.String jdkLevel)
           
 void setModel(java.io.File model)
           
 void setModelPluginID(java.lang.String modelPluginID)
           
 void setModelProject(java.io.File modelProject)
           
 void setModelProjectFragmentPath(java.lang.String modelProjectFragmentPath)
           
 void setReconcileGenModel(GeneratorTask.ReconcileGenModelType type)
           
 void setReconcileGenModel(java.lang.String type)
           
 void setSDO(boolean sdo)
           
 void setTemplatePath(java.io.File templatePath)
           
 void setValidateModel(boolean validateModel)
           
protected  boolean supportMultipleURIs()
           
 
Methods inherited from class org.eclipse.emf.ant.taskdefs.EMFTask
assertTrue, execute, getProgressMonitor
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GENMODEL_OVERWRITE

protected static final int GENMODEL_OVERWRITE
See Also:
Constant Field Values

GENMODEL_KEEP

protected static final int GENMODEL_KEEP
See Also:
Constant Field Values

GENMODEL_RELOAD

protected static final int GENMODEL_RELOAD
See Also:
Constant Field Values

model

protected java.io.File model

genModel

protected java.io.File genModel

modelProject

protected java.io.File modelProject

modelPluginID

protected java.lang.String modelPluginID

modelProjectFragmentPath

protected java.lang.String modelProjectFragmentPath

templatePath

protected java.io.File templatePath

copyright

protected java.lang.String copyright

sdo

protected boolean sdo

jdkLevel

protected java.lang.String jdkLevel

validateModel

protected java.lang.String validateModel

reconcileGenModel

protected int reconcileGenModel

generateJavaCode

protected boolean generateJavaCode

commandline

protected org.apache.tools.ant.types.Commandline commandline

generateModelProject

protected boolean generateModelProject

generateEditProject

protected boolean generateEditProject

generateEditorProject

protected boolean generateEditorProject

autoBuild

protected java.lang.Boolean autoBuild
Constructor Detail

GeneratorTask

public GeneratorTask()
Method Detail

supportMultipleURIs

protected boolean supportMultipleURIs()

setModel

public void setModel(java.io.File model)

createModel

public GeneratorTask.ModelLocation createModel()

setGenModel

public void setGenModel(java.io.File genModel)

setModelProject

public void setModelProject(java.io.File modelProject)

setModelProjectFragmentPath

public void setModelProjectFragmentPath(java.lang.String modelProjectFragmentPath)

setModelPluginID

public void setModelPluginID(java.lang.String modelPluginID)

setGenerateModelProject

public void setGenerateModelProject(boolean generate)

setGenerateEditProject

public void setGenerateEditProject(boolean generate)

setGenerateEditorProject

public void setGenerateEditorProject(boolean generate)

createArg

public org.apache.tools.ant.types.Commandline.Argument createArg()

setTemplatePath

public void setTemplatePath(java.io.File templatePath)

setCopyright

public void setCopyright(java.lang.String copyright)

setSDO

public void setSDO(boolean sdo)

setReconcileGenModel

public void setReconcileGenModel(GeneratorTask.ReconcileGenModelType type)

setReconcileGenModel

public void setReconcileGenModel(java.lang.String type)

setGenerateJavaCode

public void setGenerateJavaCode(boolean generateJavaCode)

setAutoBuild

public void setAutoBuild(boolean autoBuild)

setValidateModel

public void setValidateModel(boolean validateModel)

setJdkLevel

public void setJdkLevel(java.lang.String jdkLevel)

getJDKLevel

protected GenJDKLevel getJDKLevel()

getCommandline

protected org.apache.tools.ant.types.Commandline getCommandline()

checkAttributes

protected void checkAttributes()
                        throws org.apache.tools.ant.BuildException
Description copied from class: EMFTask
All the attribute checks should be performed in this method.

Overrides:
checkAttributes in class EMFTask
Throws:
org.apache.tools.ant.BuildException

doExecute

protected void doExecute()
                  throws java.lang.Exception
Description copied from class: EMFTask
Performs the task specific code.

Specified by:
doExecute in class EMFTask
Throws:
java.lang.Exception

createGenModel

protected abstract void createGenModel(java.lang.String[] arguments)
                                throws java.lang.Exception
Throws:
java.lang.Exception

addGenModelPathArgument

protected void addGenModelPathArgument()

addModelPathArgument

protected void addModelPathArgument()

addGenModelArguments

protected void addGenModelArguments()

adjustEditAndEditorProjects

protected void adjustEditAndEditorProjects()

getGeneratorArguments

protected java.util.List<java.lang.String> getGeneratorArguments()

generateCodeFromGenModel

protected void generateCodeFromGenModel(java.lang.String[] arguments)

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.