edu.isi.pegasus.planner.invocation

## Class MachineSpecific

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

All Implemented Interfaces:
  java.io.Serializable

    public class MachineSpecific
    extends Invocation

This class collects the various OS-specific elements that we are capturing machine information for.

Version:
  $Revision$
Author:
  Jens-S. Vöckler
See Also:
  Serialized Form

### Field Summary

Fields
`private java.util.List<MachineInfo>` `m_info` The List of `MachineInfo` elements associated with the machine.
`private java.lang.String` `m_tag` This is the tag to group the machine-specific information.

### Constructor Summary

Constructors
Constructor and Description
`MachineSpecific(java.lang.String tag)` Default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addMachineInfo(MachineInfo info)` Add a `MachineInfo` element.
`java.lang.String` `getElementName()` Returns the name of the xml element corresponding to the object.
`java.util.Iterator<MachineInfo>` `getMachineInfoIterator()` Returns an iterator for the machine info objects
`java.lang.String` `getTag()` Accessor
`void` `setTag(java.lang.String tag)` Accessor.
`void` `toString(java.io.Writer stream)` Converts the active state into something meant for human consumption.
`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 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_tag

    private java.lang.String m_tag

This is the tag to group the machine-specific information. Usually, it is one of "darwin", "sunos", "linux" or "basic".

#### m_info

    private java.util.List<MachineInfo> m_info

The List of `MachineInfo` elements associated with the machine.

### Constructor Detail

#### MachineSpecific

    public MachineSpecific(java.lang.String tag)

Default constructor.

### Method Detail

#### getTag

    public java.lang.String getTag()

Accessor

See Also:
  `setTag(String)`

#### setTag

    public void setTag(java.lang.String tag)

Accessor.

Parameters:
  `tag` -
See Also:
  `getTag()`

#### getElementName

    public java.lang.String getElementName()

Returns the name of the xml element corresponding to the object.

Returns:
  name

#### addMachineInfo

    public void addMachineInfo(MachineInfo info)

Add a `MachineInfo` element.

Parameters:
  `info` - the machine info element

#### getMachineInfoIterator

    public java.util.Iterator<MachineInfo> getMachineInfoIterator()

Returns an iterator for the machine info objects

Returns:
  Iterator for `MachineInfo` objects.

#### toString

    public void toString(java.io.Writer stream)
                  throws java.io.IOException

Converts the active state into something meant for human consumption. The method will be called when recursively traversing the instance tree.

Specified by:
  `toString` 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.
Throws:
  `java.io.IOException` - if something fishy happens to the stream.

#### 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`