edu.isi.pegasus.planner.dax

## Class Executable

- java.lang.Object
- - edu.isi.pegasus.planner.dax.CatalogType
  - - edu.isi.pegasus.planner.dax.Executable

    public class Executable
    extends CatalogType

The Transformation Catalog object the represent the entries in the DAX transformation section.

Version:
  $Revision$
Author:
  gmehta

### Nested Class Summary

Nested Classes
`static class` `Executable.ARCH` ARCH Types
`static class` `Executable.OS` OS Types

### Field Summary

Fields
`protected Executable.ARCH` `mArch` Architecture the executable is compiled for
`protected java.lang.String` `mGlibc` Glibc the executable is compiled for
`protected boolean` `mInstalled` Flag to mark if the executable is installed or can be staged.
`protected java.util.List<Invoke>` `mInvokes` List of Notification objects
`protected java.lang.String` `mName` Name of the executable
`protected java.lang.String` `mNamespace` Namespace of the executable
`protected Executable.OS` `mOs` Os the executable is compiled for
`protected java.lang.String` `mOsRelease` Os release the executable is compiled for
`protected java.lang.String` `mOsVersion` OS version the executable is compiled for
`protected java.lang.String` `mVersion` Version of the executable

### Fields inherited from class edu.isi.pegasus.planner.dax.CatalogType

`mLogger, mMetadata, mPFNs, mProfiles`

### Constructor Summary

Constructors
Constructor and Description
`Executable(Executable e)` Copy Constructor
`Executable(java.lang.String name)` Create a new executable
`Executable(java.lang.String namespace, java.lang.String name, java.lang.String version)` Create a new Executable

### Method Summary

All Methods Instance Methods Concrete Methods
`Executable` `addInvoke(Invoke.WHEN when, java.lang.String what)` Add a Notification for this Executable same as addNotification
`Executable` `addInvoke(Invoke invoke)` Add a Notification for this Executable Same as add Notification
`Executable` `addInvokes(java.util.List<Invoke> invokes)` Add a List of Notifications for this Executable Same as addNotifications
`Executable` `addNotification(Invoke.WHEN when, java.lang.String what)` Add a Notification for this Executable same as addInvoke
`Executable` `addNotification(Invoke invoke)` Add a Notification for this Executable Same as addInvoke
`Executable` `addNotifications(java.util.List<Invoke> invokes)` Add a List of Notifications for this Executable.
`boolean` `equals(java.lang.Object obj)`
`Executable.ARCH` `getArchitecture()` Get the architecture the Executable is compiled for
`java.lang.String` `getGlibc()` Get the Glibc version if any set for this file.
`boolean` `getInstalled()` Check if the executable is of type installed.
`java.util.List<Invoke>` `getInvoke()` Return the list of Notification objects
`java.lang.String` `getName()` Get the name of the executable
`java.lang.String` `getNamespace()` Get the namespace of the executable
`java.util.List<Invoke>` `getNotification()` Return the list of Notification objects (same as getInvoke)
`Executable.OS` `getOS()` Get the OS the Executable is compiled for
`java.lang.String` `getOsRelease()` Get the OS release set for this executable.
`java.lang.String` `getOsVersion()` Get the OS version set for this executable.
`java.lang.String` `getVersion()` Get the version of the executable
`int` `hashCode()`
`boolean` `isExecutable()`
`Executable` `setArchitecture(Executable.ARCH arch)` Set the architecture the executable is compiled for
`Executable` `setGlibc(java.lang.String glibc)` Set the glibc this executable is compiled for
`Executable` `setInstalled()` set the installed flag on the executable.
`Executable` `setInstalled(boolean installed)` Set the installed flag on the executable.
`Executable` `setOS(Executable.OS os)` Set the OS the executable is compiled for
`Executable` `setOSRelease(java.lang.String osrelease)` Set the osrelease the executable is compiled for
`Executable` `setOSVersion(java.lang.String osversion)` Set the osversion the executable is compiled for
`java.lang.String` `toString()`
`void` `toXML(XMLWriter writer)` Write the XML representation of this object
`void` `toXML(XMLWriter writer, int indent)` Write the XML representation of this object
`Executable` `unsetInstalled()` Unset the installed flag on the executable.

### Methods inherited from class edu.isi.pegasus.planner.dax.CatalogType

`addMetaData, addMetaData, addMetaData, addPhysicalFile, addPhysicalFile, addPhysicalFile, addPhysicalFiles, addProfile, addProfile, addProfiles, addProfiles, getMetaData, getPhysicalFiles, getProfiles, isFile`

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

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

### Field Detail

#### mNamespace

    protected java.lang.String mNamespace

Namespace of the executable

#### mName

    protected java.lang.String mName

Name of the executable

#### mVersion

    protected java.lang.String mVersion

Version of the executable

#### mArch

    protected Executable.ARCH mArch

Architecture the executable is compiled for

#### mOs

    protected Executable.OS mOs

Os the executable is compiled for

#### mOsRelease

    protected java.lang.String mOsRelease

Os release the executable is compiled for

#### mOsVersion

    protected java.lang.String mOsVersion

OS version the executable is compiled for

#### mGlibc

    protected java.lang.String mGlibc

Glibc the executable is compiled for

#### mInstalled

    protected boolean mInstalled

Flag to mark if the executable is installed or can be staged.

#### mInvokes

    protected java.util.List<Invoke> mInvokes

List of Notification objects

### Constructor Detail

#### Executable

    public Executable(java.lang.String name)

Create a new executable

Parameters:
  `name` -

#### Executable

    public Executable(Executable e)

Copy Constructor

Parameters:
  `e` -

#### Executable

    public Executable(java.lang.String namespace,
                      java.lang.String name,
                      java.lang.String version)

Create a new Executable

Parameters:
  `namespace` -
  `name` -
  `version` -

### Method Detail

#### getName

    public java.lang.String getName()

Get the name of the executable

Returns:

#### getNamespace

    public java.lang.String getNamespace()

Get the namespace of the executable

Returns:

#### getVersion

    public java.lang.String getVersion()

Get the version of the executable

Returns:

#### getInvoke

    public java.util.List<Invoke> getInvoke()

Return the list of Notification objects

Returns:
  List<Invoke>

#### getNotification

    public java.util.List<Invoke> getNotification()

Return the list of Notification objects (same as getInvoke)

Returns:
  List<Invoke>

#### addInvoke

    public Executable addInvoke(Invoke.WHEN when,
                                java.lang.String what)

Add a Notification for this Executable same as addNotification

Parameters:
  `when` -
  `what` -
Returns:
  Executable

#### addNotification

    public Executable addNotification(Invoke.WHEN when,
                                      java.lang.String what)

Add a Notification for this Executable same as addInvoke

Parameters:
  `when` -
  `what` -
Returns:
  Executable

#### addInvoke

    public Executable addInvoke(Invoke invoke)

Add a Notification for this Executable Same as add Notification

Parameters:
  `invoke` -
Returns:
  Executable

#### addNotification

    public Executable addNotification(Invoke invoke)

Add a Notification for this Executable Same as addInvoke

Parameters:
  `invoke` -
Returns:
  Executable

#### addInvokes

    public Executable addInvokes(java.util.List<Invoke> invokes)

Add a List of Notifications for this Executable Same as addNotifications

Parameters:
  `invokes` -
Returns:
  Executable

#### addNotifications

    public Executable addNotifications(java.util.List<Invoke> invokes)

Add a List of Notifications for this Executable. Same as addInvokes

Parameters:
  `invokes` -
Returns:
  Executable

#### setArchitecture

    public Executable setArchitecture(Executable.ARCH arch)

Set the architecture the executable is compiled for

Parameters:
  `arch` -
Returns:
  Executable

#### setOS

    public Executable setOS(Executable.OS os)

Set the OS the executable is compiled for

Parameters:
  `os` -
Returns:

#### setOSRelease

    public Executable setOSRelease(java.lang.String osrelease)

Set the osrelease the executable is compiled for

Parameters:
  `osrelease` -
Returns:

#### setOSVersion

    public Executable setOSVersion(java.lang.String osversion)

Set the osversion the executable is compiled for

Parameters:
  `osversion` -
Returns:

#### setGlibc

    public Executable setGlibc(java.lang.String glibc)

Set the glibc this executable is compiled for

Parameters:
  `glibc` -
Returns:

#### setInstalled

    public Executable setInstalled()

set the installed flag on the executable. Default is installed

Returns:

#### unsetInstalled

    public Executable unsetInstalled()

Unset the installed flag on the executable. Default is installed.

Returns:

#### setInstalled

    public Executable setInstalled(boolean installed)

Set the installed flag on the executable. Default is installed

#### getInstalled

    public boolean getInstalled()

Check if the executable is of type installed.

Returns:

#### getArchitecture

    public Executable.ARCH getArchitecture()

Get the architecture the Executable is compiled for

Returns:

#### getOS

    public Executable.OS getOS()

Get the OS the Executable is compiled for

Returns:

#### getOsRelease

    public java.lang.String getOsRelease()

Get the OS release set for this executable. Returns empty string if not set

Returns:

#### getOsVersion

    public java.lang.String getOsVersion()

Get the OS version set for this executable.

Returns:

#### getGlibc

    public java.lang.String getGlibc()

Get the Glibc version if any set for this file. Returns empty string if not set

Returns:

#### isExecutable

    public boolean isExecutable()

Overrides:
  `isExecutable` in class `CatalogType`

#### equals

    public boolean equals(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### toXML

    public void toXML(XMLWriter writer)

Description copied from class: `CatalogType`
Write the XML representation of this object

Overrides:
  `toXML` in class `CatalogType`
See Also:
  `XMLWriter`

#### toXML

    public void toXML(XMLWriter writer,
                      int indent)

Description copied from class: `CatalogType`
Write the XML representation of this object

Overrides:
  `toXML` in class `CatalogType`
See Also:
  `XMLwriter`