Package 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 Modifier and Type Class Description static class
Executable.ARCH
ARCH Typesstatic class
Executable.OS
OS Types
-
Field Summary
Fields Modifier and Type Field Description protected Executable.ARCH
mArch
Architecture the executable is compiled forprotected java.lang.String
mGlibc
Glibc the executable is compiled forprotected boolean
mInstalled
Flag to mark if the executable is installed or can be staged.protected java.util.List<Invoke>
mInvokes
List of Notification objectsprotected java.lang.String
mName
Name of the executableprotected java.lang.String
mNamespace
Namespace of the executableprotected Executable.OS
mOs
Os the executable is compiled forprotected java.lang.String
mOsRelease
Os release the executable is compiled forprotected java.lang.String
mOsVersion
OS version the executable is compiled forprotected java.util.Set<Executable>
mRequires
Other executables this executable requiresprotected 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 Description Executable(Executable e)
Copy ConstructorExecutable(java.lang.String name)
Create a new executableExecutable(java.lang.String namespace, java.lang.String name, java.lang.String version)
Create a new Executable
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Executable
addInvoke(Invoke invoke)
Add a Notification for this Executable Same as add NotificationExecutable
addInvoke(Invoke.WHEN when, java.lang.String what)
Add a Notification for this Executable same as addNotificationExecutable
addInvokes(java.util.List<Invoke> invokes)
Add a List of Notifications for this Executable Same as addNotificationsExecutable
addNotification(Invoke invoke)
Add a Notification for this Executable Same as addInvokeExecutable
addNotification(Invoke.WHEN when, java.lang.String what)
Add a Notification for this Executable same as addInvokeExecutable
addNotifications(java.util.List<Invoke> invokes)
Add a List of Notifications for this Executable.Executable
addRequirement(Executable e)
Add another executable as a requirement to this executableboolean
equals(java.lang.Object obj)
Compares whether an object is equal to this instance of Executable or notExecutable.ARCH
getArchitecture()
Get the architecture the Executable is compiled forjava.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 objectsjava.lang.String
getName()
Get the name of the executablejava.lang.String
getNamespace()
Get the namespace of the executablejava.util.List<Invoke>
getNotification()
Return the list of Notification objects (same as getInvoke)Executable.OS
getOS()
Get the OS the Executable is compiled forjava.lang.String
getOsRelease()
Get the OS release set for this executable.java.lang.String
getOsVersion()
Get the OS version set for this executable.java.util.Set<Executable>
getRequirements()
Get the set of executables that this executable requiresjava.lang.String
getVersion()
Get the version of the executableint
hashCode()
boolean
isExecutable()
Return boolean indicating whether executable or notExecutable
setArchitecture(Executable.ARCH arch)
Set the architecture the executable is compiled forExecutable
setGlibc(java.lang.String glibc)
Set the glibc this executable is compiled forExecutable
setInstalled()
set the installed flag on the executable.Executable
setInstalled(boolean installed)
Set the installed flag on the executable.Default is installedExecutable
setOS(Executable.OS os)
Set the OS the executable is compiled forExecutable
setOSRelease(java.lang.String osrelease)
Set the osrelease the executable is compiled forExecutable
setOSVersion(java.lang.String osversion)
Set the osversion the executable is compiled forjava.lang.String
toString()
java.util.List<edu.isi.pegasus.planner.catalog.transformation.TransformationCatalogEntry>
toTransformationCatalogEntries()
Converts the executable into transformation catalog entriesvoid
toXML(edu.isi.pegasus.common.util.XMLWriter writer)
Write the XML representation of this objectvoid
toXML(edu.isi.pegasus.common.util.XMLWriter writer, int indent)
Write the XML representation of this objectExecutable
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
-
-
-
-
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
-
mRequires
protected java.util.Set<Executable> mRequires
Other executables this executable requires
-
-
Constructor Detail
-
Executable
public Executable(java.lang.String name)
Create a new executable- Parameters:
name
- name
-
Executable
public Executable(Executable e)
Copy Constructor- Parameters:
e
- executable to copy from
-
Executable
public Executable(java.lang.String namespace, java.lang.String name, java.lang.String version)
Create a new Executable- Parameters:
namespace
- the namespacename
- the nameversion
- the version
-
-
Method Detail
-
getName
public java.lang.String getName()
Get the name of the executable- Returns:
- String
-
getNamespace
public java.lang.String getNamespace()
Get the namespace of the executable- Returns:
- namespace
-
getVersion
public java.lang.String getVersion()
Get the version of the executable- Returns:
- version
-
getInvoke
public java.util.List<Invoke> getInvoke()
Return the list of Notification objects- Returns:
- List of Invoke objects
-
getNotification
public java.util.List<Invoke> getNotification()
Return the list of Notification objects (same as getInvoke)- Returns:
- List of Invoke objects
-
addInvoke
public Executable addInvoke(Invoke.WHEN when, java.lang.String what)
Add a Notification for this Executable same as addNotification- Parameters:
when
- when to invokewhat
- what executable to invoke including the arguments- Returns:
- Executable
-
addNotification
public Executable addNotification(Invoke.WHEN when, java.lang.String what)
Add a Notification for this Executable same as addInvoke- Parameters:
when
- when to invokewhat
- what executable to invoke including the arguments- Returns:
- Executable
-
addInvoke
public Executable addInvoke(Invoke invoke)
Add a Notification for this Executable Same as add Notification- Parameters:
invoke
- the invoke object containing the notification- Returns:
- Executable
-
addNotification
public Executable addNotification(Invoke invoke)
Add a Notification for this Executable Same as addInvoke- Parameters:
invoke
- the invoke object containing the notification- Returns:
- Executable
-
addInvokes
public Executable addInvokes(java.util.List<Invoke> invokes)
Add a List of Notifications for this Executable Same as addNotifications- Parameters:
invokes
- list of notification objects- Returns:
- Executable
-
addNotifications
public Executable addNotifications(java.util.List<Invoke> invokes)
Add a List of Notifications for this Executable. Same as addInvokes- Parameters:
invokes
- list of notification objects- Returns:
- Executable
-
setArchitecture
public Executable setArchitecture(Executable.ARCH arch)
Set the architecture the executable is compiled for- Parameters:
arch
- the architecture- Returns:
- the Executable object that was modified
-
setOS
public Executable setOS(Executable.OS os)
Set the OS the executable is compiled for- Parameters:
os
- the OS- Returns:
- the Executable object that was modified
-
setOSRelease
public Executable setOSRelease(java.lang.String osrelease)
Set the osrelease the executable is compiled for- Parameters:
osrelease
- the os release- Returns:
- the Executable object that was modified
-
setOSVersion
public Executable setOSVersion(java.lang.String osversion)
Set the osversion the executable is compiled for- Parameters:
osversion
- os version- Returns:
- the Executable object that was modified
-
setGlibc
public Executable setGlibc(java.lang.String glibc)
Set the glibc this executable is compiled for- Parameters:
glibc
- glibc version- Returns:
- the Executable object that was modified
-
setInstalled
public Executable setInstalled()
set the installed flag on the executable. Default is installed- Returns:
- the Executable object that was modified
-
unsetInstalled
public Executable unsetInstalled()
Unset the installed flag on the executable. Default is installed.- Returns:
- the Executable object that was modified
-
setInstalled
public Executable setInstalled(boolean installed)
Set the installed flag on the executable.Default is installed- Parameters:
installed
- the installed flag- Returns:
- the Executable object that was modified
-
getInstalled
public boolean getInstalled()
Check if the executable is of type installed.- Returns:
- Boolean
-
getArchitecture
public Executable.ARCH getArchitecture()
Get the architecture the Executable is compiled for- Returns:
- Architecture
-
getOS
public Executable.OS getOS()
Get the OS the Executable is compiled for- Returns:
- the OS
-
getOsRelease
public java.lang.String getOsRelease()
Get the OS release set for this executable. Returns empty string if not set- Returns:
- String
-
getOsVersion
public java.lang.String getOsVersion()
Get the OS version set for this executable.- Returns:
- String
-
getGlibc
public java.lang.String getGlibc()
Get the Glibc version if any set for this file. Returns empty string if not set- Returns:
- String
-
isExecutable
public boolean isExecutable()
Return boolean indicating whether executable or not- Overrides:
isExecutable
in classCatalogType
- Returns:
- boolean
-
getRequirements
public java.util.Set<Executable> getRequirements()
Get the set of executables that this executable requires- Returns:
- Set of Executable this main executable requires
-
addRequirement
public Executable addRequirement(Executable e)
Add another executable as a requirement to this executable- Parameters:
e
- dependent executable- Returns:
- instance to the Executable that was modified
-
equals
public boolean equals(java.lang.Object obj)
Compares whether an object is equal to this instance of Executable or not- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- object to compare against- Returns:
- boolean
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toXML
public void toXML(edu.isi.pegasus.common.util.XMLWriter writer)
Description copied from class:CatalogType
Write the XML representation of this object- Overrides:
toXML
in classCatalogType
- Parameters:
writer
- the xml writer- See Also:
XMLWriter
-
toXML
public void toXML(edu.isi.pegasus.common.util.XMLWriter writer, int indent)
Description copied from class:CatalogType
Write the XML representation of this object- Overrides:
toXML
in classCatalogType
- Parameters:
writer
- the xml writerindent
- the number of indent spaces- See Also:
XMLWriter
-
toTransformationCatalogEntries
public java.util.List<edu.isi.pegasus.planner.catalog.transformation.TransformationCatalogEntry> toTransformationCatalogEntries()
Converts the executable into transformation catalog entries- Returns:
- transformation catalog entries
-
-