edu.isi.pegasus.planner.invocation

## Class ArgVector

- java.lang.Object
- - org.griphyn.vdl.Chimera
  - - edu.isi.pegasus.planner.invocation.Invocation
    - - edu.isi.pegasus.planner.invocation.Arguments
      - - edu.isi.pegasus.planner.invocation.ArgVector

All Implemented Interfaces:
  java.io.Serializable

    public class ArgVector
    extends Arguments

This class maintains the application that was run, and the arguments to the commandline that were actually passed on to the application.

Version:
  $Revision$
Author:
  Jens-S. Vöckler, Yong Zhao
See Also:
  `Job`, Serialized Form

### Field Summary

Fields
`private java.util.Map` `m_argv` This is the (new) alternative explicit argument vector.

### Fields inherited from class edu.isi.pegasus.planner.invocation.Arguments

`m_executable`

### Constructor Summary

Constructors
Constructor and Description
`ArgVector()` Default c'tor: Construct a hollow shell and allow further information to be added later.
`ArgVector(java.lang.String executable)` Constructs an applications without arguments.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getValue()` Returns the full argument vector as one single string.
`void` `setValue(int position, java.lang.String entry)` Sets the argument vector at the specified location.
`java.lang.String` `toXML(java.lang.String indent)` Dumps the state of the current element as XML output.
`void` `toXML(java.io.Writer stream, java.lang.String indent, java.lang.String namespace)` Dump the state of the current element as XML output.

### Methods inherited from class edu.isi.pegasus.planner.invocation.Arguments

`getExecutable, setExecutable, toString`

### Methods inherited from class org.griphyn.vdl.Chimera

`escape, quote, toString, toXML, toXML, writeAttribute`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### m_argv

    private java.util.Map m_argv

This is the (new) alternative explicit argument vector. The reason for using a map is that I cannot random access an ArrayList.

### Constructor Detail

#### ArgVector

    public ArgVector()

Default c'tor: Construct a hollow shell and allow further information to be added later.

#### ArgVector

    public ArgVector(java.lang.String executable)

Constructs an applications without arguments.

Parameters:
  `executable` - is the name of the application.

### Method Detail

#### getValue

    public java.lang.String getValue()

Returns the full argument vector as one single string.

Specified by:
  `getValue` in class `Arguments`
Returns:
  a single string joining all arguments with a single space.
See Also:
  `setValue(int,String)`

#### setValue

    public void setValue(int position,
                         java.lang.String entry)

Sets the argument vector at the specified location.

Parameters:
  `position` - is the position at which to set the entry.
  `entry` - is the argument vector position Setting `null` is a noop.

#### toXML

    public java.lang.String toXML(java.lang.String indent)

Dumps the state of the current element as XML output. This function can return the necessary data more efficiently, thus overwriting the inherited method.

Parameters:
  `indent` - is a `String` of spaces used for pretty printing. The initial amount of spaces should be an empty string. The parameter is used internally for the recursive traversal.
Returns:
  a String which contains the state of the current class and its siblings using XML. Note that these strings might become large.

#### toXML

    public void toXML(java.io.Writer stream,
                      java.lang.String indent,
                      java.lang.String namespace)
               throws java.io.IOException

Dump the state of the current element as XML output. This function traverses all sibling classes as necessary, and converts the data into pretty-printed XML output. The stream interface should be able to handle large output efficiently.

Specified by:
  `toXML` in class `org.griphyn.vdl.Chimera`
Parameters:
  `stream` - is a stream opened and ready for writing. This can also be a string stream for efficient output.
  `indent` - is a `String` of spaces used for pretty printing. The initial amount of spaces should be an empty string. The parameter is used internally for the recursive traversal. If a `null` value is specified, no indentation nor linefeeds will be generated.
  `namespace` - is the XML schema namespace prefix. If neither empty nor null, each element will be prefixed with this prefix, and the root element will map the XML namespace.
Throws:
  `java.io.IOException` - if something fishy happens to the stream.
See Also:
  `BufferedWriter`