org.eclipse.emf.importer.java.taskdefs
Class JavaGeneratorTask

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
                  extended by org.eclipse.emf.importer.java.taskdefs.JavaGeneratorTask

public class JavaGeneratorTask
extends GeneratorTask

Generates source code from models specified using Annotated Java. Exposes some functionalities available on the JavaImporterApplication class - check its printUsage() method for detailed information on the arguments you can use with this task.

This task is supposed to be executed by a Eclipse driver with the org.eclipse.emf.ant plugin. It is neither necessary to use Ant's task TaskDef to declare this task in a script nor to change the Ant's runtime classpath.

The following command line will start a headless Eclipse instance and run the specified Ant script.

eclipseDir/eclipse -noSplash -data worspaceDir -application org.eclipse.ant.core.antRunner -buildfile antScript

In Windows you should execute eclipsec instead of eclipse in order to have access to the Ant build script console output.

You can also use the Eclipse UI to execute an Ant script containing this task by right-clicking the script and selecting Run As > Ant Build... > JRE > "Run in the same JRE as the workspace".

Usage example:

 <emf.Java2Java genModel="/lib/emf/lib.genmodel">
 
 <emf.Java2Java genModelPath="/lib/model/lib.genmodel" 
                modelProject="c:/lib" 
        <arg line="-packages http://www.example.eclipse.org/Library"/>
 </emf.Ecore2Java>
 

Different than the other EMF Generator tasks, this one requires the model specification files, Annotated Java, to be located in a workspace Java project. The genModelPath attribute should be used to indicated the workspace absolute path of the GenModel. Also, if the genModel's project doesn't exist in the workspace (indicated by workspaceDir in the command line above), the modelProject attribute should be used to indicate the model's location. This directory should contain all the Eclipse's necessary files (such as ".project" and ".classpath") to define this project as a valid Java project.

Also, the following attributes cannot be used within this task:

Since:
2.3.0

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.emf.ant.taskdefs.codegen.ecore.GeneratorTask
GeneratorTask.ModelLocation, GeneratorTask.ReconcileGenModelType
 
Field Summary
protected  java.lang.String genModelPath
           
protected  JavaImporter javaImporter
           
 
Fields inherited from class org.eclipse.emf.ant.taskdefs.codegen.ecore.GeneratorTask
autoBuild, commandline, copyright, generateEditorProject, generateEditProject, generateJavaCode, generateModelProject, generateTestsProject, genModel, GENMODEL_KEEP, GENMODEL_OVERWRITE, GENMODEL_RELOAD, jdkLevel, model, modelPluginID, modelProject, modelProjectFragmentPath, reconcileGenModel, sdo, templatePath, validateModel
 
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
JavaGeneratorTask()
           
 
Method Summary
protected  void addGenModelPathArgument()
           
protected  void checkAttributes()
          All the attribute checks should be performed in this method.
protected  void createGenModel(java.lang.String[] arguments)
           
protected  java.util.List<java.lang.String> getGeneratorArguments()
           
 void setGenModel(java.io.File genModel)
           
 void setGenModelPath(java.lang.String genModelPath)
           
 void setModel(java.io.File model)
           
 void setModelProjectFragmentPath(java.lang.String modelProjectFragmentPath)
           
 
Methods inherited from class org.eclipse.emf.ant.taskdefs.codegen.ecore.GeneratorTask
addGenModelArguments, addModelPathArgument, adjustEditAndEditorProjects, createArg, createModel, doExecute, generateCodeFromGenModel, getCommandline, getJDKLevel, setAutoBuild, setCopyright, setGenerateEditorProject, setGenerateEditProject, setGenerateJavaCode, setGenerateModelProject, setGenerateTestsProject, setJdkLevel, setModelPluginID, setModelProject, setReconcileGenModel, setReconcileGenModel, setSDO, setTemplatePath, setValidateModel, 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

genModelPath

protected java.lang.String genModelPath

javaImporter

protected JavaImporter javaImporter
Constructor Detail

JavaGeneratorTask

public JavaGeneratorTask()
Method Detail

setModel

public void setModel(java.io.File model)
Overrides:
setModel in class GeneratorTask

setGenModel

public void setGenModel(java.io.File genModel)
Overrides:
setGenModel in class GeneratorTask

setModelProjectFragmentPath

public void setModelProjectFragmentPath(java.lang.String modelProjectFragmentPath)
Overrides:
setModelProjectFragmentPath in class GeneratorTask

setGenModelPath

public void setGenModelPath(java.lang.String genModelPath)

createGenModel

protected void createGenModel(java.lang.String[] arguments)
                       throws java.lang.Exception
Specified by:
createGenModel in class GeneratorTask
Throws:
java.lang.Exception

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 GeneratorTask
Throws:
org.apache.tools.ant.BuildException

addGenModelPathArgument

protected void addGenModelPathArgument()
Overrides:
addGenModelPathArgument in class GeneratorTask

getGeneratorArguments

protected java.util.List<java.lang.String> getGeneratorArguments()
Overrides:
getGeneratorArguments in class GeneratorTask

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