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

java.lang.Object
  extended byorg.apache.tools.ant.ProjectComponent
      extended byorg.apache.tools.ant.Task
          extended byorg.eclipse.emf.ant.taskdefs.EMFTask
              extended byorg.eclipse.emf.ant.taskdefs.codegen.ecore.GeneratorTask
Direct Known Subclasses:
EcoreGeneratorTask, 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.

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  Boolean autoBuild
           
protected  org.apache.tools.ant.types.Commandline commandline
           
protected  String copyright
           
protected  boolean generateEditorProject
           
protected  boolean generateEditProject
           
protected  boolean generateJavaCode
           
protected  boolean generateModelProject
           
protected  File genModel
           
protected static int GENMODEL_KEEP
           
protected static int GENMODEL_OVERWRITE
           
protected static int GENMODEL_RELOAD
           
protected  File model
           
protected  String modelPluginID
           
protected  File modelProject
           
protected  String modelProjectFragmentPath
           
protected  int reconcileGenModel
           
protected  boolean sdo
           
protected  File templatePath
           
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
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(String[] arguments)
           
 GeneratorTask.ModelLocation createModel()
           
protected  void doExecute()
          Performs the task specific code.
protected  void generateCodeFromGenModel(String[] arguments)
           
protected  org.apache.tools.ant.types.Commandline getCommandline()
           
protected  List getGeneratorArguments()
           
 void setAutoBuild(boolean autoBuild)
           
 void setCopyright(String copyright)
           
 void setGenerateEditorProject(boolean generate)
           
 void setGenerateEditProject(boolean generate)
           
 void setGenerateJavaCode(boolean generateJavaCode)
           
 void setGenerateModelProject(boolean generate)
           
 void setGenModel(File genModel)
           
 void setModel(File model)
           
 void setModelPluginID(String modelPluginID)
           
 void setModelProject(File modelProject)
           
 void setModelProjectFragmentPath(String modelProjectFragmentPath)
           
 void setReconcileGenModel(GeneratorTask.ReconcileGenModelType type)
           
 void setReconcileGenModel(String type)
           
 void setSDO(boolean sdo)
           
 void setTemplatePath(File templatePath)
           
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
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, setProject
 
Methods inherited from class java.lang.Object
clone, 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 File model

genModel

protected File genModel

modelProject

protected File modelProject

modelPluginID

protected String modelPluginID

modelProjectFragmentPath

protected String modelProjectFragmentPath

templatePath

protected File templatePath

copyright

protected String copyright

sdo

protected boolean sdo

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 Boolean autoBuild
Constructor Detail

GeneratorTask

public GeneratorTask()
Method Detail

supportMultipleURIs

protected boolean supportMultipleURIs()

setModel

public void setModel(File model)

createModel

public GeneratorTask.ModelLocation createModel()

setGenModel

public void setGenModel(File genModel)

setModelProject

public void setModelProject(File modelProject)

setModelProjectFragmentPath

public void setModelProjectFragmentPath(String modelProjectFragmentPath)

setModelPluginID

public void setModelPluginID(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(File templatePath)

setCopyright

public void setCopyright(String copyright)

setSDO

public void setSDO(boolean sdo)

setReconcileGenModel

public void setReconcileGenModel(GeneratorTask.ReconcileGenModelType type)

setReconcileGenModel

public void setReconcileGenModel(String type)

setGenerateJavaCode

public void setGenerateJavaCode(boolean generateJavaCode)

setAutoBuild

public void setAutoBuild(boolean autoBuild)

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 Exception
Description copied from class: EMFTask
Performs the task specific code.

Specified by:
doExecute in class EMFTask
Throws:
Exception

createGenModel

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

addGenModelPathArgument

protected void addGenModelPathArgument()

addModelPathArgument

protected void addModelPathArgument()

addGenModelArguments

protected void addGenModelArguments()

adjustEditAndEditorProjects

protected void adjustEditAndEditorProjects()

getGeneratorArguments

protected List getGeneratorArguments()

generateCodeFromGenModel

protected void generateCodeFromGenModel(String[] arguments)

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