edu.isi.pegasus.planner.invocation

## Class StatCall

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

All Implemented Interfaces:
  java.io.Serializable

    public class StatCall
    extends Invocation

This class is the container for a complete call to stat() or fstat(). It contains information about the file or descriptor. Optionally, it may also contain some data from the file or descriptor.

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

### Field Summary

Fields
`private Data` `m_data` Optional data gleaned from stdout or stderr.
`private int` `m_errno` value of errno after calling any stat function, or -1 for failure.
`private File` `m_file` the object (fn,fd) that the stat call was taken on.
`private java.lang.String` `m_handle` optional handle for stat calls of the invocation record
`private java.lang.String` `m_lfn` optional logical filename associated with this stat call
`private StatInfo` `m_statinfo` the stat information itself, only present for unfailed calls.

### Constructor Summary

Constructors
Constructor and Description
`StatCall()` Default c'tor: Construct a hollow shell and allow further information to be added later.
`StatCall(java.lang.String handle)` Construct a specific but empty stat call object.

### Method Summary

All Methods Instance Methods Concrete Methods
`Data` `getData()` Accessor
`int` `getError()` Accessor
`File` `getFile()` Accessor
`java.lang.String` `getHandle()` Accessor
`java.lang.String` `getLFN()` Accessor
`StatInfo` `getStatInfo()` Accessor
`void` `setData(Data data)` Conversion accessor.
`void` `setData(java.lang.String data)` Accessor.
`void` `setError(int errno)` Accessor.
`void` `setFile(File file)` Accessor.
`void` `setHandle(java.lang.String handle)` Accessor.
`void` `setLFN(java.lang.String lfn)` Accessor.
`void` `setStatInfo(StatInfo statinfo)` 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_handle

    private java.lang.String m_handle

optional handle for stat calls of the invocation record

#### m_lfn

    private java.lang.String m_lfn

optional logical filename associated with this stat call

#### m_errno

    private int m_errno

value of errno after calling any stat function, or -1 for failure.

#### m_file

    private File m_file

the object (fn,fd) that the stat call was taken on.

#### m_statinfo

    private StatInfo m_statinfo

the stat information itself, only present for unfailed calls.

#### m_data

    private Data m_data

Optional data gleaned from stdout or stderr.

### Constructor Detail

#### StatCall

    public StatCall()

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

#### StatCall

    public StatCall(java.lang.String handle)

Construct a specific but empty stat call object.

Parameters:
  `handle` - is the identifier to give this specific stat call.

### Method Detail

#### getHandle

    public java.lang.String getHandle()

Accessor

See Also:
  `setHandle(String)`

#### setHandle

    public void setHandle(java.lang.String handle)

Accessor.

Parameters:
  `handle` -
See Also:
  `getHandle()`

#### getLFN

    public java.lang.String getLFN()

Accessor

See Also:
  `setLFN(String)`

#### setLFN

    public void setLFN(java.lang.String lfn)

Accessor.

Parameters:
  `lfn` -
See Also:
  `getLFN()`

#### getError

    public int getError()

Accessor

See Also:
  `setError(int)`

#### setError

    public void setError(int errno)

Accessor.

Parameters:
  `errno` -
See Also:
  `getError()`

#### getFile

    public File getFile()

Accessor

See Also:
  `setFile(File)`

#### setFile

    public void setFile(File file)

Accessor.

Parameters:
  `file` -
See Also:
  `getFile()`

#### getStatInfo

    public StatInfo getStatInfo()

Accessor

See Also:
  `setStatInfo(StatInfo)`

#### setStatInfo

    public void setStatInfo(StatInfo statinfo)

Accessor.

Parameters:
  `statinfo` -
See Also:
  `getStatInfo()`

#### getData

    public Data getData()

Accessor

See Also:
  `setData(String)`

#### setData

    public void setData(java.lang.String data)

Accessor.

Parameters:
  `data` -
See Also:
  `getData()`

#### setData

    public void setData(Data data)

Conversion accessor.

Parameters:
  `data` -
See Also:
  `getData()`, `setData( String )`

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