org.apache.tools.ant.taskdefs.optional.metamata
Class MParse

java.lang.Object
  extended byorg.apache.tools.ant.ProjectComponent
      extended byorg.apache.tools.ant.Task
          extended byorg.apache.tools.ant.taskdefs.optional.metamata.MParse

public class MParse
extends Task

Simple Metamata MParse task. Based on the original written by Thomas Haas. This version was written for Metamata 2.0 available at http://www.metamata.com

Author:
Stephane Bailliez
To do:
make a subclass of AbstractMetaMataTask

Field Summary
 
Fields inherited from class org.apache.tools.ant.Task
description, location, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
MParse()
           
 
Method Summary
protected  void _execute(ExecuteStreamHandler handler)
          execute the process with a specific handler
protected  void checkOptions()
          validate options set and resolve files and paths
protected  void cleanUp()
          clean up all the mess that we did with temporary objects
 Path createClasspath()
          create a classpath entry
 Commandline.Argument createJvmarg()
          Additional optional parameters to pass to the JVM.
 Path createSourcepath()
          creates a sourcepath entry
protected  ExecuteStreamHandler createStreamHandler()
          return the default stream handler for this task
protected static java.io.File createTmpFile()
          create a temporary file in the current directory
 void execute()
          execute the command line
protected  void generateOptionsFile(java.io.File tofile, java.lang.String[] options)
          write all options to a file with one option / line
protected  java.io.File[] getMetamataLibs()
          return an array of files containing the path to the needed libraries to run metamata.
protected  java.lang.String[] getOptions()
          return all options of the command line as string elements
 void setCleanup(boolean value)
          Remove the intermediate Sun JavaCC file ; optional, default false.
 void setDebugparser(boolean flag)
          set parser debug mode; optional, default false
 void setDebugscanner(boolean flag)
          set scanner debug mode; optional, default false
 void setMaxmemory(java.lang.String max)
          Set the maximum memory for the JVM; optional.
 void setMetamatahome(java.io.File metamatahome)
          The home directory containing the Metamata distribution; required
 void setTarget(java.io.File target)
          The .jj file to process; required.
protected  void setUp()
          check the options and build the command line
 void setVerbose(boolean flag)
          set verbose mode; optional, default false
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName
 
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
 

Constructor Detail

MParse

public MParse()
Method Detail

setMetamatahome

public void setMetamatahome(java.io.File metamatahome)
The home directory containing the Metamata distribution; required


setTarget

public void setTarget(java.io.File target)
The .jj file to process; required.


createClasspath

public Path createClasspath()
create a classpath entry


createSourcepath

public Path createSourcepath()
creates a sourcepath entry


setVerbose

public void setVerbose(boolean flag)
set verbose mode; optional, default false


setDebugscanner

public void setDebugscanner(boolean flag)
set scanner debug mode; optional, default false


setDebugparser

public void setDebugparser(boolean flag)
set parser debug mode; optional, default false


setCleanup

public void setCleanup(boolean value)
Remove the intermediate Sun JavaCC file ; optional, default false.


createJvmarg

public Commandline.Argument createJvmarg()
Additional optional parameters to pass to the JVM.


setMaxmemory

public void setMaxmemory(java.lang.String max)
Set the maximum memory for the JVM; optional. -mx or -Xmx depending on VM version


execute

public void execute()
             throws BuildException
execute the command line

Overrides:
execute in class Task
Throws:
BuildException - if something goes wrong with the build

createStreamHandler

protected ExecuteStreamHandler createStreamHandler()
return the default stream handler for this task


setUp

protected void setUp()
              throws BuildException
check the options and build the command line

Throws:
BuildException

_execute

protected void _execute(ExecuteStreamHandler handler)
                 throws BuildException
execute the process with a specific handler

Throws:
BuildException

cleanUp

protected void cleanUp()
clean up all the mess that we did with temporary objects


getMetamataLibs

protected java.io.File[] getMetamataLibs()
return an array of files containing the path to the needed libraries to run metamata. The file are not checked for existence. You should do this yourself if needed or simply let the forked process do it for you.

Returns:
array of jars/zips needed to run metamata.

checkOptions

protected void checkOptions()
                     throws BuildException
validate options set and resolve files and paths

Throws:
BuildException - thrown if an option has an incorrect state.

getOptions

protected java.lang.String[] getOptions()
return all options of the command line as string elements

Returns:
an array of options corresponding to the setted options.

generateOptionsFile

protected void generateOptionsFile(java.io.File tofile,
                                   java.lang.String[] options)
                            throws BuildException
write all options to a file with one option / line

Parameters:
tofile - the file to write the options to.
options - the array of options element to write to the file.
Throws:
BuildException - thrown if there is a problem while writing to the file.

createTmpFile

protected static final java.io.File createTmpFile()
create a temporary file in the current directory

To do:
move to using the FileUtils implementation


Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.