## org.apache.tools.ant.types
Class Commandline

    java.lang.Object
      org.apache.tools.ant.types.Commandline

All Implemented Interfaces:
  java.lang.Cloneable

public class Commandline
extends java.lang.Object
implements java.lang.Cloneable

Commandline objects help handling command lines specifying processes to execute. The class can be used to define a command line as nested elements or as a helper to define a command line by an application.

`<someelement>
<acommandline executable="/executable/to/run">
<argument value="argument 1" />
<argument line="argument_1 argument_2 argument_3" />
<argument value="argument 4" />
</acommandline>
</someelement>
` The element `someelement` must provide a method `createAcommandline` which returns an instance of this class.

Author:
  thomas.haas@softwired-inc.com, Stefan Bodewig

Nested Class Summary
`static class` `Commandline.Argument` Used for nested xml command line definitions.
`class` `Commandline.Marker` Class to keep track of the position of an Argument.

Field Summary
`protected static java.lang.String` `DISCLAIMER`

Constructor Summary
`Commandline()`
`Commandline(java.lang.String to_process)`

Method Summary
`void` `addArguments(java.lang.String[] line)`
`void` `clear()` Clear out the whole command line.
`void` `clearArgs()` Clear out the arguments but leave the executable in place for another operation.
`java.lang.Object` `clone()`
`Commandline.Argument` `createArgument()` Creates an argument object.
`Commandline.Argument` `createArgument(boolean insertAtStart)` Creates an argument object and adds it to our list of args.
`Commandline.Marker` `createMarker()` Return a marker.
`java.lang.String` `describeArguments()` Returns a String that describes the arguments suitable for verbose output before a call to `Runtime.exec(String[])```
`static java.lang.String` `describeArguments(Commandline line)` Returns a String that describes the arguments suitable for verbose output before a call to `Runtime.exec(String[])```
`static java.lang.String` `describeArguments(java.lang.String[] args)` Returns a String that describes the arguments suitable for verbose output before a call to `Runtime.exec(String[])```
`protected static java.lang.String` `describeArguments(java.lang.String[] args, int offset)` Returns a String that describes the arguments suitable for verbose output before a call to `Runtime.exec(String[])```
`java.lang.String` `describeCommand()` Returns a String that describes the command and arguments suitable for verbose output before a call to `Runtime.exec(String[])```
`static java.lang.String` `describeCommand(Commandline line)` Returns a String that describes the command and arguments suitable for verbose output before a call to `Runtime.exec(String[])```
`static java.lang.String` `describeCommand(java.lang.String[] args)` Returns a String that describes the command and arguments suitable for verbose output before a call to `Runtime.exec(String[])`.``
`java.lang.String[]` `getArguments()` Returns all arguments defined by `addLine`, `addValue` or the argument object.
`java.lang.String[]` `getCommandline()` Returns the executable and all defined arguments.
`java.lang.String` `getExecutable()`
`static java.lang.String` `quoteArgument(java.lang.String argument)` Put quotes around the given String if necessary.
`void` `setExecutable(java.lang.String executable)` Sets the executable to run.
`int` `size()`
`java.lang.String` `toString()`
`static java.lang.String` `toString(java.lang.String[] line)` Quotes the parts of the given array in way that makes them usable as command line arguments.
`static java.lang.String[]` `translateCommandline(java.lang.String to_process)`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### DISCLAIMER

    protected static final java.lang.String DISCLAIMER

Constructor Detail

### Commandline

    public Commandline(java.lang.String to_process)

### Commandline

    public Commandline()

Method Detail

### createArgument

    public Commandline.Argument createArgument()

  Creates an argument object.

  Each commandline object has at most one instance of the argument class. This method calls `this.createArgument(false)`.

  Returns:
    the argument object.
  See Also:
    `createArgument(boolean)`

### createArgument

    public Commandline.Argument createArgument(boolean insertAtStart)

  Creates an argument object and adds it to our list of args.

  Each commandline object has at most one instance of the argument class.

  Parameters:
    `insertAtStart` - if true, the argument is inserted at the beginning of the list of args, otherwise it is appended.

### setExecutable

    public void setExecutable(java.lang.String executable)

  Sets the executable to run.

### getExecutable

    public java.lang.String getExecutable()

### addArguments

    public void addArguments(java.lang.String[] line)

### getCommandline

    public java.lang.String[] getCommandline()

  Returns the executable and all defined arguments.

### getArguments

    public java.lang.String[] getArguments()

  Returns all arguments defined by `addLine`, `addValue` or the argument object.

### toString

    public java.lang.String toString()

### quoteArgument

    public static java.lang.String quoteArgument(java.lang.String argument)

  Put quotes around the given String if necessary.

  If the argument doesn't include spaces or quotes, return it as is. If it contains double quotes, use single quotes - else surround the argument by double quotes.

  Throws:
    `BuildException` - if the argument contains both, single and double quotes.

### toString

    public static java.lang.String toString(java.lang.String[] line)

  Quotes the parts of the given array in way that makes them usable as command line arguments.

### translateCommandline

    public static java.lang.String[] translateCommandline(java.lang.String to_process)

### size

    public int size()

### clone

    public java.lang.Object clone()

### clear

    public void clear()

  Clear out the whole command line.

### clearArgs

    public void clearArgs()

  Clear out the arguments but leave the executable in place for another operation.

### createMarker

    public Commandline.Marker createMarker()

  Return a marker.

  This marker can be used to locate a position on the commandline - to insert something for example - when all parameters have been set.

### describeCommand

    public java.lang.String describeCommand()

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

  ``
  Since:
    Ant 1.5

### describeArguments

    public java.lang.String describeArguments()

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

  ``
  Since:
    Ant 1.5

### describeCommand

    public static java.lang.String describeCommand(Commandline line)

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

  ``
  Since:
    Ant 1.5

### describeArguments

    public static java.lang.String describeArguments(Commandline line)

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

  ``
  Since:
    Ant 1.5

### describeCommand

    public static java.lang.String describeCommand(java.lang.String[] args)

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

  This method assumes that the first entry in the array is the executable to run.

  ``
  Since:
    Ant 1.5

### describeArguments

    public static java.lang.String describeArguments(java.lang.String[] args)

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

  ``
  Since:
    Ant 1.5

### describeArguments

    protected static java.lang.String describeArguments(java.lang.String[] args,
                                                        int offset)

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

  ``
  Parameters:
    `offset` - ignore entries before this index
  Since:
    Ant 1.5

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