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.

<

p>

<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
author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
package phing.types

 Methods

__construct()

__construct($to_process) 

Parameters

$to_process

__copy()

__copy() 

__toString()

__toString() 

addArguments()

addArguments($line) 

Parameters

$line

Clear out the whole command line.

clear() 

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

clearArgs() 

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

createArgument(boolean $insertAtStart) : \CommandlineArgument

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

Parameters

$insertAtStart

boolean

if true, the argument is inserted at the beginning of the list of args, otherwise it is appended.

Returns

Return a marker.

createMarker() : \CommandlineMarker

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

Returns

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

describeCommand(array $args) : string

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

Parameters

$args

array

CommandlineArgument[] to use

Returns

string

Returns all arguments defined by <code>addLine</code>, <code>addValue</code> or the argument object.

getArguments() 

Returns the executable and all defined arguments.

getCommandline() : array

Returns

array

getExecutable()

getExecutable() 

Put quotes around the given String if necessary.

quoteArgument($argument, $escape) 
Static

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.

exception BuildException if the argument contains both, single and double quotes.

Parameters

$argument

$escape

Sets the executable to run.

setExecutable($executable) 

Parameters

$executable

size()

size() : int

Returns

intNumber of components in current commandline.

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

toString($lines, $escape) 
Static

Parameters

$lines

$escape

translateCommandline()

translateCommandline(string $to_process) : array
Static

Parameters

$to_process

string

Returns

array

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

describeArguments($args, $offset) : string

Parameters

$args

arguments to use (default is to use current class args)

$offset

ignore entries before this index

Returns

string

 Properties

 

CommandlineArguments[]

$arguments : array
 

$executable : string

 Constants

 

DISCLAIMER

DISCLAIMER