com.sun.grid.jsv
Class JobDescription

java.lang.Object
  extended by com.sun.grid.jsv.JobDescription
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public final class JobDescription
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

The JobDescription class represents a job to be verified by the JSV. It contains the values of all submissions attributes applied to the job as well as the job's environment variables' values if requested. All properties of this class may be null. A property with a null value indicates that the value was not set by the JSV framework, and hence was not a submission attribute of the job being verified. Care must be taken with the Boolean and Integer properties to prevent null pointer exceptions caused by autoboxing. Setting a property value to null deletes the corresponding submission attribute from the job being verified. All properties of Collection type return copies of the Collection from their getter methods. In order to make changes to the contents of the Collection, the corresponding setter method must be called. It is acceptable to make the changes to the Collection instance returned from the getter method and then commit those changes by passing that Collection instance to the setter method. The JobDescription class uses the Logger named "com.sun.grid.Jsv". By default the Logger is set not to pass log records to its parent logger because the default Logger writes to stdout and would disrupt the JSV protocol. By default, the Logger has no handlers installed. In order to enable logging, add a handler, i.e. a FileHandler instance. It is always a good idea to enabling logging, as errors in JSV protocol handling will be logged as warnings, but will not be visible any other way.

Since:
6.2u5
See Also:
JsvManager.requestEnvironment(boolean), Serialized Form

Nested Class Summary
static class JobDescription.Verification
          The possible values for the verification property.
 
Field Summary
static java.lang.String CLIENT_CONTEXT
          String value of the context property that indicates the JSV is running on the master node.
static java.lang.String MASTER_CLIENT
          String value of the client property that indicates the JSV is running on the master node.
static java.lang.String MASTER_CONTEXT
          String value of the context property that indicates the JSV is running on the master node.
 
Constructor Summary
JobDescription()
           
 
Method Summary
protected  JobDescription clone()
           
 java.lang.Boolean doNotify()
          Get whether the job should be sent warning signals before being suspended or terminated.
 java.lang.String getAccount()
          Get the account string.
 java.lang.Integer getAdvanceReservationId()
          Get the advance reservation id.
 BindingSpecifier getBindingSpecifier()
          Get the BindingSpecifier object that represents the core vinding settings for the job.
 CheckpointSpecifier getCheckpointSpecifier()
          Get an object representing the checkpointing options.
 java.lang.String getClient()
          Get the client string.
 java.lang.String[] getCommandArgs()
          Get the arguments to the job.
 java.lang.String getCommandName()
          Get the job command.
 java.lang.String getContext()
          Get the context string.
 java.util.Calendar getDeadline()
          Get the job's deadline time.
 java.lang.String getDisplay()
          Get the job's display value.
 java.util.Map<java.lang.String,java.lang.String> getEnvironment()
          Get the job's environment variables.
 java.util.Map<java.lang.String,java.lang.String> getErrorPath()
          Get the job's error path.
 java.lang.String getGroup()
          Get the primary group id for the job's submitter.
 java.util.List<java.lang.String> getHardQueue()
          Get the hard queue list.
 java.util.Map<java.lang.String,java.lang.String> getHardResourceRequirements()
          Get the hard resource requirements.
 java.util.List<java.lang.String> getHoldArrayJobIds()
          Get the list of array job identifiers on which this job's array tasks are dependent.
 java.util.List<java.lang.String> getHoldJobIds()
          Get the list of job identifiers on which this job is dependent.
 java.util.Map<java.lang.String,java.lang.String> getInputPath()
          Get the job's input path.
 java.util.Map<java.lang.String,java.lang.String> getJobContext()
          Get the job's job context map.
 java.lang.String getJobId()
          Get the job's id
 java.lang.Integer getJobShare()
          Get the job's assigned functional ticket share.
 java.util.List<java.lang.String> getMailRecipients()
          Get the list of email recipients for this job.
 MailSpecifier getMailSpecifier()
          Get a MailSpecifier object that represents the occasions when email notifications should be sent for this job.
 java.util.List<java.lang.String> getMasterQueue()
          Get the master queue list.
 java.lang.String getName()
          Get the job's name.
 java.util.Map<java.lang.String,java.lang.String> getOutputPath()
          Get the job's output path.
 ParallelEnvironment getParallelEnvironment()
          Get the ParallelEnvironment object that represents the parallel environment settings for the job.
 java.lang.Integer getPriority()
          Get the job's priority.
 java.lang.String getProject()
          Get the job's project See qsub -P.
 java.util.Map<java.lang.String,java.lang.String> getShellPath()
          Get the shell path list.
 java.util.List<java.lang.String> getSoftQueue()
          Get the soft queue list.
 java.util.Map<java.lang.String,java.lang.String> getSoftResourceRequirements()
          Get the soft resource requirements map.
 java.util.Calendar getStartTime()
          Get the job's start time.
 TaskSpecifier getTaskSpecifier()
          Get the object that represents the array task specifier.
 java.lang.String getUser()
          Get the submitting user.
 JobDescription.Verification getVerification()
          Get the verification level.
 java.lang.String getVersion()
          Get the JSV framework version.
 java.lang.String getWorkingDirectory()
          Get the working directory for the job See qsub -cwd -wd.
 java.lang.Boolean hasResourceReservation()
          Get whether the job uses resource reservation.
 java.lang.Boolean isBinary()
          Get whether the job is binary.
 java.lang.Boolean isRerunnable()
          Get whether the job can be requeued during execd failure.
 java.lang.Boolean mergeStreams()
          Get whether the output and error streams should be written into the same file.
 java.lang.Boolean onHold()
          Get whether the job is submitted in the hold state.
 void setAccount(java.lang.String account)
          Set the value of the account string.
 void setAdvanceReservationId(java.lang.Integer advanceReservationId)
          Set the value of the advance reservation id.
 void setBinary(java.lang.Boolean binary)
          Set whether the job is binary.
 void setBindingSpecifier(BindingSpecifier binding)
          Set the BindingSpecifier object that represent's the job to core binding settings.
 void setCheckpointSpecifier(CheckpointSpecifier checkpointSpecifier)
          Set the CheckpointSpecifier object that defines the checkpointing settings for the job.
 void setCommandArgs(java.lang.String[] commandArgs)
          Set the job's command arguments.
 void setDeadline(java.util.Calendar deadline)
          Set the deadline time.
 void setDisplay(java.lang.String display)
          Set the display string.
 void setEnvironment(java.util.Map<java.lang.String,java.lang.String> environment)
          Set the job's environment variable.
 void setErrorPath(java.util.Map<java.lang.String,java.lang.String> path)
          Set the error path.
 void setHardQueue(java.util.List<java.lang.String> queues)
          Set the hard queue list.
 void setHardResourceRequirements(java.util.Map<java.lang.String,java.lang.String> resources)
          Set the hard resource requirements map.
 void setHold(java.lang.Boolean hold)
          Set whether the job should be submitted in hold state.
 void setHoldArrayJobIds(java.util.List<java.lang.String> jobIds)
          Set the list of array job identifiers on which the job tasks depened.
 void setHoldJobIds(java.util.List<java.lang.String> jobIds)
          Set the list of job identifiers on which the job depeneds.
 void setInputPath(java.util.Map<java.lang.String,java.lang.String> path)
          Set the input path.
 void setJobContext(java.util.Map<java.lang.String,java.lang.String> context)
          Set the job's context.
 void setJobShare(java.lang.Integer jobShare)
          Set the job's functional ticket share See qsub -js.
 void setMailRecipients(java.util.List<java.lang.String> recipients)
          Set the list of email recipients to be notified on job events.
 void setMailSpecifier(MailSpecifier mailSpecifier)
          Set the MailSpecifier object that represents when email notifications should be sent.
 void setMasterQueue(java.util.List<java.lang.String> queues)
          Set the master queue list.
 void setMergeStreams(java.lang.Boolean mergeStreams)
          Set whether the output and error streams should be merged.
 void setName(java.lang.String name)
          Set the job's name.
 void setNotify(java.lang.Boolean notify)
          Set whether the job should be sent warning signals before being suspended or terminated.
 void setOutputPath(java.util.Map<java.lang.String,java.lang.String> path)
          Set the output path.
 void setParallelEnvironment(ParallelEnvironment pe)
          Set the ParallelEnvironment object that represent's the job's PE settings.
 void setPriority(java.lang.Integer priority)
          Set the job's priority.
 void setProject(java.lang.String project)
          Set the job's project.
 void setRerunnable(java.lang.Boolean rerunnable)
          Set whether the job can be requeued in the event of execd failure.
 void setResourceReservation(java.lang.Boolean reservation)
          Set whether the job should use resource reservation.
 void setShell(java.lang.Boolean shell)
          Set whether the job should be launched by a shell.
 void setShellPath(java.util.Map<java.lang.String,java.lang.String> path)
          Set the job's shell path.
 void setSoftQueue(java.util.List<java.lang.String> queues)
          Set the job's soft queue list See qsub -soft -q.
 void setSoftResourceRequirements(java.util.Map<java.lang.String,java.lang.String> resources)
          Set the job's soft resource requirements map.
 void setStartTime(java.util.Calendar startTime)
          Set the job's start time.
 void setTaskSpecifier(TaskSpecifier taskSpecifier)
          Set the TaskSpecifier object that defines the job's array task settings.
 void setVerification(JobDescription.Verification verification)
          Set the job's verification level.
 void setWorkingDirectory(java.lang.String cwd)
          Set the working directory.
 java.lang.Boolean useShell()
          Get whether the job should be launched via a shell.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MASTER_CLIENT

public static final java.lang.String MASTER_CLIENT
String value of the client property that indicates the JSV is running on the master node.

See Also:
getClient(), Constant Field Values

MASTER_CONTEXT

public static final java.lang.String MASTER_CONTEXT
String value of the context property that indicates the JSV is running on the master node.

See Also:
getContext(), Constant Field Values

CLIENT_CONTEXT

public static final java.lang.String CLIENT_CONTEXT
String value of the context property that indicates the JSV is running on the master node.

See Also:
getContext(), Constant Field Values
Constructor Detail

JobDescription

public JobDescription()
Method Detail

getAccount

public java.lang.String getAccount()
Get the account string. See qsub -A.

Returns:
the account string

getAdvanceReservationId

public java.lang.Integer getAdvanceReservationId()
Get the advance reservation id. Note that the return value will be null if the advance reservation id has not been set. See qsub -ar.

Returns:
the advance reservation id

getCheckpointSpecifier

public CheckpointSpecifier getCheckpointSpecifier()
Get an object representing the checkpointing options. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance.

Returns:
the checkpointing options See qsub -ckpt -c.
See Also:
CheckpointSpecifier

getClient

public java.lang.String getClient()
Get the client string. If the JSV is running on the master node, the value of this string will be "qmaster". If the JSV is running on the submission client node, the value of this string will be the name of the submission utility, e.g. qsub, qrsh, etc.

Returns:
the client string
See Also:
MASTER_CLIENT

getCommandArgs

public java.lang.String[] getCommandArgs()
Get the arguments to the job. The array that is returned will be a copy of the internal command arguments array, so modifications to the returned value will have no effect on the JobDescription instance.

Returns:
the job arguments

getCommandName

public java.lang.String getCommandName()
Get the job command.

Returns:
the job command

getContext

public java.lang.String getContext()
Get the context string. If the JSV is running on the master node, the value of this string will be "master". If the JSV is running on the submission client node, the value of this string will be "client".

Returns:
the context string
See Also:
MASTER_CONTEXT, CLIENT_CONTEXT

getWorkingDirectory

public java.lang.String getWorkingDirectory()
Get the working directory for the job See qsub -cwd -wd.

Returns:
the working directory

getDeadline

public java.util.Calendar getDeadline()
Get the job's deadline time. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -dl.

Returns:
the deadline time

getDisplay

public java.lang.String getDisplay()
Get the job's display value. See qsub -display.

Returns:
the display value

getErrorPath

public java.util.Map<java.lang.String,java.lang.String> getErrorPath()
Get the job's error path. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -e.

Returns:
the error path

getGroup

public java.lang.String getGroup()
Get the primary group id for the job's submitter.

Returns:
the group id

getHardQueue

public java.util.List<java.lang.String> getHardQueue()
Get the hard queue list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hard -q.

Returns:
the hard queue list

getHardResourceRequirements

public java.util.Map<java.lang.String,java.lang.String> getHardResourceRequirements()
Get the hard resource requirements. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hard -l.

Returns:
the hard resource requirements

getHoldArrayJobIds

public java.util.List<java.lang.String> getHoldArrayJobIds()
Get the list of array job identifiers on which this job's array tasks are dependent. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hold_jid_ad.

Returns:
the array job dependencies

getHoldJobIds

public java.util.List<java.lang.String> getHoldJobIds()
Get the list of job identifiers on which this job is dependent. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hold_jid.

Returns:
the job dependencies

getInputPath

public java.util.Map<java.lang.String,java.lang.String> getInputPath()
Get the job's input path. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -i.

Returns:
the input path

getJobContext

public java.util.Map<java.lang.String,java.lang.String> getJobContext()
Get the job's job context map. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -ac -dc -sc.

Returns:
the job context

getJobId

public java.lang.String getJobId()
Get the job's id

Returns:
the job id

getJobShare

public java.lang.Integer getJobShare()
Get the job's assigned functional ticket share. Note that the return value will be null if the value has not been set. See qsub -js.

Returns:
the job share

getMailRecipients

public java.util.List<java.lang.String> getMailRecipients()
Get the list of email recipients for this job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -M.

Returns:
the email recipient list

getMailSpecifier

public MailSpecifier getMailSpecifier()
Get a MailSpecifier object that represents the occasions when email notifications should be sent for this job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -m.

Returns:
the mail specifier
See Also:
MailSpecifier

getMasterQueue

public java.util.List<java.lang.String> getMasterQueue()
Get the master queue list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -masterq.

Returns:
the master queue list

getName

public java.lang.String getName()
Get the job's name.

Returns:
the job name

getOutputPath

public java.util.Map<java.lang.String,java.lang.String> getOutputPath()
Get the job's output path. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -o.

Returns:
the output path

getParallelEnvironment

public ParallelEnvironment getParallelEnvironment()
Get the ParallelEnvironment object that represents the parallel environment settings for the job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -pe.

Returns:
the pe specification
See Also:
ParallelEnvironment

getBindingSpecifier

public BindingSpecifier getBindingSpecifier()
Get the BindingSpecifier object that represents the core vinding settings for the job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -binding.

Returns:
the binding specification
See Also:
BindingSpecifier

getPriority

public java.lang.Integer getPriority()
Get the job's priority. Note that the return value will be null if the value has not been set. See qsub -p.

Returns:
the job priority

getProject

public java.lang.String getProject()
Get the job's project See qsub -P.

Returns:
the job project

getShellPath

public java.util.Map<java.lang.String,java.lang.String> getShellPath()
Get the shell path list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -S.

Returns:
the shell path list

getSoftQueue

public java.util.List<java.lang.String> getSoftQueue()
Get the soft queue list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -soft -q.

Returns:
the soft queue list

getSoftResourceRequirements

public java.util.Map<java.lang.String,java.lang.String> getSoftResourceRequirements()
Get the soft resource requirements map. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -soft -l.

Returns:
the soft requirements map

getStartTime

public java.util.Calendar getStartTime()
Get the job's start time. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -a.

Returns:
the start time

getTaskSpecifier

public TaskSpecifier getTaskSpecifier()
Get the object that represents the array task specifier. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -t.

Returns:
the array task specifier
See Also:
TaskSpecifier

getUser

public java.lang.String getUser()
Get the submitting user.

Returns:
the submitting user

getVerification

public JobDescription.Verification getVerification()
Get the verification level. See qsub -w.

Returns:
the verification level

getVersion

public java.lang.String getVersion()
Get the JSV framework version.

Returns:
the JSV version

useShell

public java.lang.Boolean useShell()
Get whether the job should be launched via a shell. Note that the return value will be null if the value has not been set. See qsub -shell.

Returns:
whether to use a shell

hasResourceReservation

public java.lang.Boolean hasResourceReservation()
Get whether the job uses resource reservation. Note that the return value will be null if the value has not been set. See qsub -R.

Returns:
whether to use resource reservation

isRerunnable

public java.lang.Boolean isRerunnable()
Get whether the job can be requeued during execd failure. Note that the return value will be null if the value has not been set. See qsub -r.

Returns:
whether the job can be requeued

doNotify

public java.lang.Boolean doNotify()
Get whether the job should be sent warning signals before being suspended or terminated. Note that the return value will be null if the value has not been set. See qsub -notify.

Returns:
whether the job should get warning signals

mergeStreams

public java.lang.Boolean mergeStreams()
Get whether the output and error streams should be written into the same file. Note that the return value will be null if the value has not been set. See qsub -j.

Returns:
whether to merge the streams

onHold

public java.lang.Boolean onHold()
Get whether the job is submitted in the hold state. Note that the return value will be null if the value has not been set. See qsub -h.

Returns:
whether the job is submitted in the hold state

isBinary

public java.lang.Boolean isBinary()
Get whether the job is binary. A true value means the job is treated as a binary. A false value means the job is treated as a script. Note that the return value will be null if the value has not been set. See qsub -b.

Returns:
whether the job is binary

getEnvironment

public java.util.Map<java.lang.String,java.lang.String> getEnvironment()
Get the job's environment variables. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -v.

Returns:
the environment variables

setAccount

public void setAccount(java.lang.String account)
Set the value of the account string. See qsub -A.

Parameters:
account - the account string

setAdvanceReservationId

public void setAdvanceReservationId(java.lang.Integer advanceReservationId)
Set the value of the advance reservation id. See qsub -ar.

Parameters:
advanceReservationId - the advance reservation id

setBinary

public void setBinary(java.lang.Boolean binary)
Set whether the job is binary. See qsub -b.

Parameters:
binary - whether the job is binary

setCheckpointSpecifier

public void setCheckpointSpecifier(CheckpointSpecifier checkpointSpecifier)
Set the CheckpointSpecifier object that defines the checkpointing settings for the job. See qsub -ckpt -c.

Parameters:
checkpointSpecifier - the schpoint specifier
See Also:
CheckpointSpecifier

setCommandArgs

public void setCommandArgs(java.lang.String[] commandArgs)
Set the job's command arguments.

Parameters:
commandArgs - the new command arguments

setWorkingDirectory

public void setWorkingDirectory(java.lang.String cwd)
Set the working directory. See qsub -wd -cwd.

Parameters:
cwd - the working directory

setDeadline

public void setDeadline(java.util.Calendar deadline)
Set the deadline time. See qsub -dl.

Parameters:
deadline - the deadline time

setDisplay

public void setDisplay(java.lang.String display)
Set the display string. See qsub -display.

Parameters:
display - the display string

setErrorPath

public void setErrorPath(java.util.Map<java.lang.String,java.lang.String> path)
Set the error path. See qsub -e.

Parameters:
path - the error path

setHardQueue

public void setHardQueue(java.util.List<java.lang.String> queues)
Set the hard queue list. See qsub -hard -q.

Parameters:
queues - the hard queue list

setHardResourceRequirements

public void setHardResourceRequirements(java.util.Map<java.lang.String,java.lang.String> resources)
Set the hard resource requirements map. See qsub -hard -l.

Parameters:
resources - the hard resource requirements

setHold

public void setHold(java.lang.Boolean hold)
Set whether the job should be submitted in hold state. See qsub -h.

Parameters:
hold - whether the job should be submitted in hold state

setHoldJobIds

public void setHoldJobIds(java.util.List<java.lang.String> jobIds)
Set the list of job identifiers on which the job depeneds. See qsub -hold_jid.

Parameters:
jobIds - the job dependency list

setHoldArrayJobIds

public void setHoldArrayJobIds(java.util.List<java.lang.String> jobIds)
Set the list of array job identifiers on which the job tasks depened. See qsub -hold_jid_ad.

Parameters:
jobIds - the array job dependency list

setInputPath

public void setInputPath(java.util.Map<java.lang.String,java.lang.String> path)
Set the input path. See qsub -i.

Parameters:
path - the error path

setJobContext

public void setJobContext(java.util.Map<java.lang.String,java.lang.String> context)
Set the job's context. See qsub -ac -dc -sc.

Parameters:
context - the job context

setJobShare

public void setJobShare(java.lang.Integer jobShare)
Set the job's functional ticket share See qsub -js.

Parameters:
jobShare - the job share

setMailRecipients

public void setMailRecipients(java.util.List<java.lang.String> recipients)
Set the list of email recipients to be notified on job events. See qsub -M.

Parameters:
recipients - the email list

setMailSpecifier

public void setMailSpecifier(MailSpecifier mailSpecifier)
Set the MailSpecifier object that represents when email notifications should be sent. See qsub -m.

Parameters:
mailSpecifier -
See Also:
MailSpecifier

setMasterQueue

public void setMasterQueue(java.util.List<java.lang.String> queues)
Set the master queue list. See qsub -masterq.

Parameters:
queues - the master queue list

setMergeStreams

public void setMergeStreams(java.lang.Boolean mergeStreams)
Set whether the output and error streams should be merged. See qsub -j.

Parameters:
mergeStreams - whether to merge the streams

setName

public void setName(java.lang.String name)
Set the job's name. See qsub -N.

Parameters:
name - the job name

setNotify

public void setNotify(java.lang.Boolean notify)
Set whether the job should be sent warning signals before being suspended or terminated. See qsub -notify.

Parameters:
notify - whether the job shoud receive warning signals

setOutputPath

public void setOutputPath(java.util.Map<java.lang.String,java.lang.String> path)
Set the output path. See qsub -o.

Parameters:
path - the output path

setParallelEnvironment

public void setParallelEnvironment(ParallelEnvironment pe)
Set the ParallelEnvironment object that represent's the job's PE settings. See qsub -pe.

Parameters:
pe - the job PE
See Also:
ParallelEnvironment

setBindingSpecifier

public void setBindingSpecifier(BindingSpecifier binding)
Set the BindingSpecifier object that represent's the job to core binding settings. See qsub -binding.

Parameters:
binding - the job binding
See Also:
BindingSpecifier

setPriority

public void setPriority(java.lang.Integer priority)
Set the job's priority. See qsub -p.

Parameters:
priority - the job priority

setProject

public void setProject(java.lang.String project)
Set the job's project. See qsub -P.

Parameters:
project - the job project

setRerunnable

public void setRerunnable(java.lang.Boolean rerunnable)
Set whether the job can be requeued in the event of execd failure. See qsub -R.

Parameters:
rerunnable - whether the job can be requeued

setResourceReservation

public void setResourceReservation(java.lang.Boolean reservation)
Set whether the job should use resource reservation. See qsub -r.

Parameters:
reservation - whether the job should use resource reservation

setShell

public void setShell(java.lang.Boolean shell)
Set whether the job should be launched by a shell. See qsub -shell.

Parameters:
shell - whether the job should use a shell

setShellPath

public void setShellPath(java.util.Map<java.lang.String,java.lang.String> path)
Set the job's shell path. See qsub -S.

Parameters:
path - the shell path

setSoftQueue

public void setSoftQueue(java.util.List<java.lang.String> queues)
Set the job's soft queue list See qsub -soft -q.

Parameters:
queues - the soft queue list

setSoftResourceRequirements

public void setSoftResourceRequirements(java.util.Map<java.lang.String,java.lang.String> resources)
Set the job's soft resource requirements map. See qsub -soft -l.

Parameters:
resources - the soft resource requirements

setStartTime

public void setStartTime(java.util.Calendar startTime)
Set the job's start time. See qsub -a.

Parameters:
startTime - the start time

setTaskSpecifier

public void setTaskSpecifier(TaskSpecifier taskSpecifier)
Set the TaskSpecifier object that defines the job's array task settings. See qsub -t.

Parameters:
taskSpecifier - the task specifier
See Also:
TaskSpecifier

setVerification

public void setVerification(JobDescription.Verification verification)
Set the job's verification level. See qsub -w.

Parameters:
verification - the verification level

setEnvironment

public void setEnvironment(java.util.Map<java.lang.String,java.lang.String> environment)
Set the job's environment variable. See qsub -v.

Parameters:
environment - the environment variables

clone

protected JobDescription clone()
Overrides:
clone in class java.lang.Object