JobConfig (Java Application API for IBM Streams)
Date: 2020-08-07

com.ibm.streamsx.topology.jobconfig

## Class JobConfig

- java.lang.Object
- - com.ibm.streamsx.topology.jobconfig.JobConfig

-     public class JobConfig
      extends java.lang.Object

  A job configuration. Used to control the submission of a job to a distributed context.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JobConfig()` An empty job configuration.
    `JobConfig(java.lang.String jobGroup, java.lang.String jobName)` Job configuration with a job name and group.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSubmissionParameter(java.lang.String name, boolean value)`
    `void` | `addSubmissionParameter(java.lang.String name, java.lang.Number value)`
    `void` | `addSubmissionParameter(java.lang.String name, java.lang.String value)`
    `JobConfig` | `addToConfig(java.util.Map<java.lang.String,java.lang.Object> config)`
    `static JobConfig` | `fromProperties(java.util.Map<java.lang.String,? extends java.lang.Object> config)` Create a `JobConfig` from a configuration map.
    `java.lang.String` | `getDataDirectory()` Get the data directory.
    `java.lang.String` | `getJobGroup()` Get the job group.
    `java.lang.String` | `getJobName()` Get the job name.
    `java.lang.Boolean` | `getOverrideResourceLoadProtection()`
    `java.lang.Boolean` | `getPreloadApplicationBundles()`
    `java.lang.String` | `getStreamsTracing()`
    `java.util.List<SubmissionParameter>` | `getSubmissionParameters()` Get the submission parameters.
    `java.util.logging.Level` | `getTracing()`
    `boolean` | `hasSubmissionParameters()` Have any submission parameters been added.
    `void` | `setDataDirectory(java.lang.String dataDirectory)` Set the data directory.
    `void` | `setJobGroup(java.lang.String jobGroup)` Set the job group.
    `void` | `setJobName(java.lang.String jobName)` Set the job name.
    `void` | `setOverrideResourceLoadProtection(java.lang.Boolean overrideResourceLoadProtection)`
    `void` | `setPreloadApplicationBundles(java.lang.Boolean preloadApplicationBundles)`
    `void` | `setTracing(java.util.logging.Level tracing)`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JobConfig

          public JobConfig()

      An empty job configuration.

    - #### JobConfig

          public JobConfig(java.lang.String jobGroup,
                           java.lang.String jobName)

      Job configuration with a job name and group.
      Parameters:
        `jobName` - Job group, can be `null`.
        `jobGroup` - Job name, can be `null`.

  - ### Method Detail

    - #### addToConfig

          public JobConfig addToConfig(java.util.Map<java.lang.String,java.lang.Object> config)

    - #### getJobName

          public java.lang.String getJobName()

      Get the job name.
      Returns:
        Job name, `null` if it is not set.

    - #### setJobName

          public void setJobName(java.lang.String jobName)

      Set the job name.
      Parameters:
        `jobName` - Job name, `null` unsets the name.

    - #### getJobGroup

          public java.lang.String getJobGroup()

      Get the job group.
      Returns:
        Job group, `null` if it is not set.

    - #### setJobGroup

          public void setJobGroup(java.lang.String jobGroup)

      Set the job group.
      Parameters:
        `jobGroup` - Job group, `null` unsets the group.

    - #### getDataDirectory

          public java.lang.String getDataDirectory()

      Get the data directory.
      Returns:
        Data directory, `null` if it is not set.

    - #### setDataDirectory

          public void setDataDirectory(java.lang.String dataDirectory)

      Set the data directory. The data directory must be a valid path on the IBM Streams instance the job will execute on.
      Parameters:
        `dataDirectory` - Data directory, `null` unsets the data directory.

    - #### getOverrideResourceLoadProtection

          public java.lang.Boolean getOverrideResourceLoadProtection()

    - #### setOverrideResourceLoadProtection

          public void setOverrideResourceLoadProtection(java.lang.Boolean overrideResourceLoadProtection)

    - #### getTracing

          public java.util.logging.Level getTracing()

      Returns:
        the tracing

    - #### getStreamsTracing

          public java.lang.String getStreamsTracing()

    - #### setTracing

          public void setTracing(java.util.logging.Level tracing)

      Parameters:
        `tracing` - the tracing to set

    - #### getPreloadApplicationBundles

          public java.lang.Boolean getPreloadApplicationBundles()

    - #### setPreloadApplicationBundles

          public void setPreloadApplicationBundles(java.lang.Boolean preloadApplicationBundles)

    - #### hasSubmissionParameters

          public boolean hasSubmissionParameters()

      Have any submission parameters been added.
      Returns:
        `true` if at least one submission exists, otherwise `false`.

    - #### getSubmissionParameters

          public java.util.List<SubmissionParameter> getSubmissionParameters()

      Get the submission parameters. Any modifications to the returned list modify the submission parameters for this object.
      Returns:
        Submission parameters, will be empty if none have been set.

    - #### addSubmissionParameter

          public void addSubmissionParameter(java.lang.String name,
                                             boolean value)

    - #### addSubmissionParameter

          public void addSubmissionParameter(java.lang.String name,
                                             java.lang.String value)

    - #### addSubmissionParameter

          public void addSubmissionParameter(java.lang.String name,
                                             java.lang.Number value)

    - #### fromProperties

          public static JobConfig fromProperties(java.util.Map<java.lang.String,? extends java.lang.Object> config)

      Create a `JobConfig` from a configuration map. If `config` contains `JobProperties.CONFIG` and it is an instance of `JobConfig` then it is returned.
      Otherwise a `JobConfig` object is created from other `JobProperties` in `config`. If none exist then an empty `JobConfig` is returned.
      Parameters:
        `config` - Submission configuration.
      Returns:
        JobConfig from `config`.
      See Also:
        `JobProperties`