Package edu.isi.pegasus.planner.dax
Class File
- java.lang.Object
-
- edu.isi.pegasus.planner.dax.CatalogType
-
- edu.isi.pegasus.planner.dax.File
-
public class File extends CatalogType
This class is the container for any File object, either the RC section, or uses- Version:
- $Revision$
- Author:
- gmehta
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
File.JsonSerializer
Custom serializer for YAML representation of a Filestatic class
File.LINK
The linkages that a file can be ofstatic class
File.TRANSFER
Three Transfer modes supported, Transfer this file, don't transfer or stageout as well as optional.
-
Field Summary
Fields Modifier and Type Field Description protected boolean
mExecutable
Is the file an executable.protected File.LINK
mLink
protected java.lang.String
mName
The logical name of the file.protected java.lang.String
mNamespace
The namespace on a file.protected boolean
mOptional
Is the file optionalprotected boolean
mRegister
Should the file be registered in the replica catalogprotected java.lang.String
mSize
File size of the file no units requiredprotected File.TRANSFER
mTransfer
Should the file be transferred on generation.protected java.lang.String
mVersion
The logical version of the file.protected boolean
useForPlanning
A boolean tracking whether a file is for use of planner i.e.-
Fields inherited from class edu.isi.pegasus.planner.dax.CatalogType
mLogger, mMetadata, mPFNs, mProfiles
-
-
Constructor Summary
Constructors Constructor Description File(File f)
Copy constructorFile(File f, File.LINK link)
Copy constructor, but change the linkage of the file.File(java.lang.String name)
Create new file objectFile(java.lang.String name, File.LINK link)
Create new file objectFile(java.lang.String namespace, java.lang.String name, java.lang.String version)
Create new File objectFile(java.lang.String namespace, java.lang.String name, java.lang.String version, File.LINK link)
Create a new file object
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description File
clone()
Return a clone of this Fileboolean
equals(java.lang.Object o)
Check if this File is equal to Object oboolean
getExecutable()
Check if the file is an executableFile.LINK
getLink()
Get the linkage of the file.java.lang.String
getName()
Get the name of the filejava.lang.String
getNamespace()
Get the namespace of the fileboolean
getOptional()
Check the optional flag of the fileboolean
getRegister()
Get the register flag of this file.java.lang.String
getSize()
Return the size of the fileFile.TRANSFER
getTransfer()
Get the transfer type of the filejava.lang.String
getVersion()
Get the version of the fileint
hashCode()
HashCode of this Fileboolean
isFile()
Boolean indicating whether is of type fileFile
setExecutable()
Mark the file as executable.File
setExecutable(boolean executable)
Mark the file as executable.File
setLink(File.LINK link)
Set the file linkageFile
setOptional(boolean optionalflag)
Set the optional flag on the file.File
setRegister(boolean registerflag)
Set the register flag of the file.File
setSize(java.lang.String size)
Set the size of the file.File
setTransfer(File.TRANSFER transferflag)
Set the transfer type of the fileFile
setUseForPlanning()
Mark the file to be used for planner.File
setUseForPlanning(boolean value)
Mark the file to be used for planner.edu.isi.pegasus.planner.classes.ReplicaLocation
toReplicaLocation()
Adapter function to convert File object to Replica Location object so that we can serialize to YAML using existing interface.void
toXML(edu.isi.pegasus.common.util.XMLWriter writer)
Write the file objectvoid
toXML(edu.isi.pegasus.common.util.XMLWriter writer, int indent)
Write the file object, with indent level Nvoid
toXML(edu.isi.pegasus.common.util.XMLWriter writer, int indent, java.lang.String elementname)
Write the file object as XML but render it as the elementnameboolean
useForPlanning()
Returns boolean indicating whether the file is marked for planner use.-
Methods inherited from class edu.isi.pegasus.planner.dax.CatalogType
addMetaData, addMetaData, addMetaData, addPhysicalFile, addPhysicalFile, addPhysicalFile, addPhysicalFiles, addProfile, addProfile, addProfiles, addProfiles, getMetaData, getPhysicalFiles, getProfiles, isExecutable
-
-
-
-
Field Detail
-
mNamespace
protected java.lang.String mNamespace
The namespace on a file. This is used for Executables only
-
mName
protected java.lang.String mName
The logical name of the file.
-
mVersion
protected java.lang.String mVersion
The logical version of the file. This is used for executables only.
-
mLink
protected File.LINK mLink
-
mOptional
protected boolean mOptional
Is the file optional
-
mRegister
protected boolean mRegister
Should the file be registered in the replica catalog
-
mTransfer
protected File.TRANSFER mTransfer
Should the file be transferred on generation.
-
mExecutable
protected boolean mExecutable
Is the file an executable.
-
useForPlanning
protected boolean useForPlanning
A boolean tracking whether a file is for use of planner i.e. to be used for planning a sub workflow.
-
mSize
protected java.lang.String mSize
File size of the file no units required
-
-
Constructor Detail
-
File
public File(java.lang.String name)
Create new file object- Parameters:
name
- The name of the file
-
File
public File(java.lang.String name, File.LINK link)
Create new file object- Parameters:
name
- The name of the filelink
- The linkage of the file
-
File
public File(File f)
Copy constructor- Parameters:
f
- File
-
File
public File(File f, File.LINK link)
Copy constructor, but change the linkage of the file.- Parameters:
f
- Filelink
- Link
-
File
public File(java.lang.String namespace, java.lang.String name, java.lang.String version)
Create new File object- Parameters:
namespace
- namespacename
- the nameversion
- the version
-
File
public File(java.lang.String namespace, java.lang.String name, java.lang.String version, File.LINK link)
Create a new file object- Parameters:
namespace
- The namespace of the filename
- The name of the fileversion
- The version of the filelink
- The linkage of the file.
-
-
Method Detail
-
getName
public java.lang.String getName()
Get the name of the file- Returns:
- the name
-
getNamespace
public java.lang.String getNamespace()
Get the namespace of the file- Returns:
- the namespace
-
getVersion
public java.lang.String getVersion()
Get the version of the file- Returns:
- version
-
getLink
public File.LINK getLink()
Get the linkage of the file.- Returns:
- linkage
-
setLink
public File setLink(File.LINK link)
Set the file linkage- Parameters:
link
- the linkage- Returns:
- File
- See Also:
File.LINK
-
setOptional
public File setOptional(boolean optionalflag)
Set the optional flag on the file. Default is false- Parameters:
optionalflag
- boolean to indicate if file is optional- Returns:
- File
-
getOptional
public boolean getOptional()
Check the optional flag of the file- Returns:
- boolean
-
setRegister
public File setRegister(boolean registerflag)
Set the register flag of the file. Default is true- Parameters:
registerflag
- register flag- Returns:
- File
-
getRegister
public boolean getRegister()
Get the register flag of this file.- Returns:
- boolean
-
setTransfer
public File setTransfer(File.TRANSFER transferflag)
Set the transfer type of the file- Parameters:
transferflag
- the transfer flag for the file- Returns:
- File
- See Also:
File.TRANSFER
-
getTransfer
public File.TRANSFER getTransfer()
Get the transfer type of the file- Returns:
- the transfer flag
-
setExecutable
public File setExecutable(boolean executable)
Mark the file as executable. Default is false- Parameters:
executable
- set the file to be an executable- Returns:
- File
-
setExecutable
public File setExecutable()
Mark the file as executable. Default is false- Returns:
- File
-
getExecutable
public boolean getExecutable()
Check if the file is an executable- Returns:
- boolean
-
setUseForPlanning
public File setUseForPlanning(boolean value)
Mark the file to be used for planner.- Parameters:
value
- boolean- Returns:
- File
-
setUseForPlanning
public File setUseForPlanning()
Mark the file to be used for planner.- Returns:
- File
-
useForPlanning
public boolean useForPlanning()
Returns boolean indicating whether the file is marked for planner use.- Returns:
- boolean
-
setSize
public File setSize(java.lang.String size)
Set the size of the file.- Parameters:
size
- size of the file- Returns:
- File
-
getSize
public java.lang.String getSize()
Return the size of the file- Returns:
- empty string if no size defined, otherwise returns the size
-
isFile
public boolean isFile()
Boolean indicating whether is of type file- Overrides:
isFile
in classCatalogType
- Returns:
- boolean
-
equals
public boolean equals(java.lang.Object o)
Check if this File is equal to Object o- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- object being compared- Returns:
- boolean
-
hashCode
public int hashCode()
HashCode of this File- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- int hashcode
-
clone
public File clone()
Return a clone of this File- Overrides:
clone
in classjava.lang.Object
- Returns:
- cloned File
-
toXML
public void toXML(edu.isi.pegasus.common.util.XMLWriter writer)
Write the file 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)
Write the file object, with indent level N- Overrides:
toXML
in classCatalogType
- Parameters:
writer
- xml writerindent
- number of indent spaces- See Also:
XMLWriter
-
toXML
public void toXML(edu.isi.pegasus.common.util.XMLWriter writer, int indent, java.lang.String elementname)
Write the file object as XML but render it as the elementname- Parameters:
writer
- xml writerindent
- number of indent spaceselementname
- name of the element
-
toReplicaLocation
public edu.isi.pegasus.planner.classes.ReplicaLocation toReplicaLocation()
Adapter function to convert File object to Replica Location object so that we can serialize to YAML using existing interface.- Returns:
- ReplicaLocation object
-
-