org.apache.tools.ant.types

Class CommandlineJava

public class CommandlineJava extends Object implements Cloneable

A representation of a Java command line that is a composite of 2 Commandline. One is used for the vm/options and one for the classname/arguments. It provides specific methods for a java command line.
Nested Class Summary
static classCommandlineJava.SysProperties
Specialized Environment class for System properties
Constructor Summary
CommandlineJava()
constructor uses the VM we are running on now.
Method Summary
voidaddSysproperties(CommandlineJava.SysProperties sysp)
add a set of system properties
voidaddSysproperty(Environment.Variable sysp)
add a system property
voidaddSyspropertyset(PropertySet sysp)
add a set of system properties
voidclearJavaArgs()
Clear out the java arguments.
Objectclone()
clone the object; clone of all fields in the class
Commandline.ArgumentcreateArgument()
create a new argument to the java program
PathcreateBootclasspath(Project p)
Create a boot classpath.
PathcreateClasspath(Project p)
Create a classpath.
Commandline.ArgumentcreateVmArgument()
create a new JVM argument
StringdescribeCommand()
Returns a String that describes the command and arguments suitable for verbose output before a call to Runtime.exec(String[])
StringdescribeJavaCommand()
Returns a String that describes the java command and arguments for in VM executions.
protected CommandlinegetActualVMCommand()
Get the VM command parameters, including memory settings
AssertionsgetAssertions()
get the current assertions
PathgetBootclasspath()
get the boot classpath
StringgetClassname()
PathgetClasspath()
get the classpath for the command
String[]getCommandline()
get the command line to run a java vm.
StringgetJar()
CommandlinegetJavaCommand()
get the Java command to be used.
CommandlineJava.SysPropertiesgetSystemProperties()
get the system properties object
CommandlinegetVmCommand()
Get the VM command, including memory.
StringgetVmversion()
Get the vm version.
protected booleanhaveBootclasspath(boolean log)
Has the bootclasspath been specified and shall it really be used (build.sysclasspath could be set or the VM may not support it)?
protected booleanhaveClasspath()
Has the classpath been specified and shall it really be used or will build.sysclasspath null it?
voidrestoreSystemProperties()
voidsetAssertions(Assertions assertions)
add an assertion set to the command
voidsetClassname(String classname)
set the classname to execute
voidsetJar(String jarpathname)
set a jar file to execute via the -jar option.
voidsetMaxmemory(String max)
Specify max memory of the JVM -mx or -Xmx depending on VM version
voidsetSystemProperties()
cache current system properties and set them to those in this java command
voidsetVm(String vm)
Set the executable used to start the new JVM.
voidsetVmversion(String value)
Set the JVM version required.
intsize()
The size of the java command line.
StringtoString()
get a string description.

Constructor Detail

CommandlineJava

public CommandlineJava()
constructor uses the VM we are running on now.

Method Detail

addSysproperties

public void addSysproperties(CommandlineJava.SysProperties sysp)
add a set of system properties

Parameters: sysp a set of properties

Since: Ant 1.6.3

addSysproperty

public void addSysproperty(Environment.Variable sysp)
add a system property

Parameters: sysp a property to be set in the JVM

addSyspropertyset

public void addSyspropertyset(PropertySet sysp)
add a set of system properties

Parameters: sysp a set of properties

clearJavaArgs

public void clearJavaArgs()
Clear out the java arguments.

clone

public Object clone()
clone the object; clone of all fields in the class

Returns: a CommandlineJava object

Throws: BuildException if anything went wrong. CloneNotSupportedException never

createArgument

public Commandline.Argument createArgument()
create a new argument to the java program

Returns: an argument to be configured

createBootclasspath

public Path createBootclasspath(Project p)
Create a boot classpath.

Parameters: p the project to use to create the path in

Returns: a path to be configured

Since: Ant 1.6

createClasspath

public Path createClasspath(Project p)
Create a classpath.

Parameters: p the project to use to create the path in

Returns: a path to be configured

createVmArgument

public Commandline.Argument createVmArgument()
create a new JVM argument

Returns: an argument to be configured

describeCommand

public String describeCommand()
Returns a String that describes the command and arguments suitable for verbose output before a call to Runtime.exec(String[])

Returns: the description string

Since: Ant 1.5

describeJavaCommand

public String describeJavaCommand()
Returns a String that describes the java command and arguments for in VM executions.

The class name is the executable in this context.

Returns: the description string

Since: Ant 1.5

getActualVMCommand

protected Commandline getActualVMCommand()
Get the VM command parameters, including memory settings

Returns: the VM command parameters

getAssertions

public Assertions getAssertions()
get the current assertions

Returns: assertions or null

getBootclasspath

public Path getBootclasspath()
get the boot classpath

Returns: boot classpath or null

getClassname

public String getClassname()

Returns: the name of the class to run or null if there is no class.

See Also: getJar

getClasspath

public Path getClasspath()
get the classpath for the command

Returns: the classpath or null

getCommandline

public String[] getCommandline()
get the command line to run a java vm.

Returns: the list of all arguments necessary to run the vm.

getJar

public String getJar()

Returns: the pathname of the jar file to run via -jar option or null if there is no jar to run.

See Also: getClassname

getJavaCommand

public Commandline getJavaCommand()
get the Java command to be used.

Returns: the java command -not a clone.

getSystemProperties

public CommandlineJava.SysProperties getSystemProperties()
get the system properties object

Returns: The system properties object

getVmCommand

public Commandline getVmCommand()
Get the VM command, including memory.

Returns: A deep clone of the instance's VM command, with memory settings added

getVmversion

public String getVmversion()
Get the vm version.

Returns: the vm version

haveBootclasspath

protected boolean haveBootclasspath(boolean log)
Has the bootclasspath been specified and shall it really be used (build.sysclasspath could be set or the VM may not support it)?

Parameters: log whether to log a warning if a bootclasspath has been specified but will be ignored.

Returns: true if the bootclasspath is to be used

Since: Ant 1.6

haveClasspath

protected boolean haveClasspath()
Has the classpath been specified and shall it really be used or will build.sysclasspath null it?

Returns: true if the classpath is to be used

Since: Ant 1.6

restoreSystemProperties

public void restoreSystemProperties()

Throws: BuildException if Security prevented this operation, or there was no system properties to restore

setAssertions

public void setAssertions(Assertions assertions)
add an assertion set to the command

Parameters: assertions assertions to make

setClassname

public void setClassname(String classname)
set the classname to execute

Parameters: classname the fully qualified classname.

setJar

public void setJar(String jarpathname)
set a jar file to execute via the -jar option.

Parameters: jarpathname the pathname of the jar to execute

setMaxmemory

public void setMaxmemory(String max)
Specify max memory of the JVM -mx or -Xmx depending on VM version

Parameters: max the string to pass to the jvm to specifiy the max memory

setSystemProperties

public void setSystemProperties()
cache current system properties and set them to those in this java command

Throws: BuildException if Security prevented this operation

setVm

public void setVm(String vm)
Set the executable used to start the new JVM.

Parameters: vm the executable to use

setVmversion

public void setVmversion(String value)
Set the JVM version required.

Parameters: value the version required

size

public int size()

Deprecated: please dont use this -it effectively creates the entire command.

The size of the java command line. This is a fairly intensive operation, as it has to evaluate the size of many components.

Returns: the total number of arguments in the java command line.

See Also: getCommandline

toString

public String toString()
get a string description.

Returns: the command line as a string

Copyright B) 2000-2007 Apache Software Foundation. All Rights Reserved.