Class JavaGeneratorTask

  extended by
      extended by
          extended by org.eclipse.emf.ant.taskdefs.EMFTask
              extended by org.eclipse.emf.ant.taskdefs.codegen.ecore.GeneratorTask
                  extended by
All Implemented Interfaces:

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" 
        <arg line="-packages"/>

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:


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
target, taskName, taskType, wrapper
Fields inherited from class
description, location, project
Constructor Summary
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( genModel)
 void setGenModelPath(java.lang.String genModelPath)
 void setModel( 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
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
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


protected java.lang.String genModelPath


protected JavaImporter javaImporter
Constructor Detail


public JavaGeneratorTask()
Method Detail


public void setModel( model)
setModel in class GeneratorTask


public void setGenModel( genModel)
setGenModel in class GeneratorTask


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


public void setGenModelPath(java.lang.String genModelPath)


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


protected void checkAttributes()
Description copied from class: EMFTask
All the attribute checks should be performed in this method.

checkAttributes in class GeneratorTask


protected void addGenModelPathArgument()
addGenModelPathArgument in class GeneratorTask


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

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