Package com.sun.grid.jsv

## Class JobDescription

- java.lang.Object
- - 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

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `JobDescription.Verification` | The possible values for the verification property.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `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

    Constructors
    Constructor | Description
    --- | ---
    `JobDescription()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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 binding 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 represents 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 binding 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 represents 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`