org.springframework.batch.core.configuration.support

## Class GroupAwareJob

- java.lang.Object
- - org.springframework.batch.core.configuration.support.GroupAwareJob

- All Implemented Interfaces:
    Job

      public class GroupAwareJob
      extends java.lang.Object
      implements Job

  A `Job` that can optionally prepend a group name to another job's name, to make it fit a naming convention for type or origin. E.g. the source job might be `overnightJob` and the group `financeDepartment`, which would result in a `Job` with identical functionality but named `financeDepartment.overnightJob` . The use of a "." separator for elements is deliberate, since it is a "safe" character in a URL.
  Author:
    Dave Syer, Mahmoud Ben Hassine

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GroupAwareJob(Job delegate)` Create a new `Job` with the delegate and no group name.
    `GroupAwareJob(java.lang.String groupName, Job delegate)` Create a new `Job` with the given group name and delegate.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)`
    `void` | `execute(JobExecution execution)` Run the `JobExecution` and update the meta information like status and statistics as necessary.
    `JobParametersIncrementer` | `getJobParametersIncrementer()` If clients need to generate new parameters for the next execution in a sequence they can use this incrementer.
    `JobParametersValidator` | `getJobParametersValidator()` A validator for the job parameters of a `JobExecution`.
    `java.lang.String` | `getName()` Concatenates the group name and the delegate job name (joining with a ".").
    `int` | `hashCode()`
    `boolean` | `isRestartable()` Flag to indicate if this job can be restarted, at least in principle.
    `java.lang.String` | `toString()`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### GroupAwareJob

          public GroupAwareJob(Job delegate)

      Create a new `Job` with the delegate and no group name.
      Parameters:
        `delegate` - a delegate for the features of a regular Job

    - #### GroupAwareJob

          public GroupAwareJob(@Nullable
                               java.lang.String groupName,
                               Job delegate)

      Create a new `Job` with the given group name and delegate.
      Parameters:
        `groupName` - the group name to prepend (can be `null`)
        `delegate` - a delegate for the features of a regular Job

  - ### Method Detail

    - #### execute

          public void execute(JobExecution execution)

      Description copied from interface: `Job`
      Run the `JobExecution` and update the meta information like status and statistics as necessary. This method should not throw any exceptions for failed execution. Clients should be careful to inspect the `JobExecution` status to determine success or failure.
      Specified by:
        `execute` in interface `Job`
      Parameters:
        `execution` - a `JobExecution`

    - #### getName

          public java.lang.String getName()

      Concatenates the group name and the delegate job name (joining with a ".").
      Specified by:
        `getName` in interface `Job`
      See Also:
        `Job.getName()`

    - #### isRestartable

          public boolean isRestartable()

      Description copied from interface: `Job`
      Flag to indicate if this job can be restarted, at least in principle.
      Specified by:
        `isRestartable` in interface `Job`
      Returns:
        true if this job can be restarted after a failure

    - #### getJobParametersIncrementer

          @Nullable
          public JobParametersIncrementer getJobParametersIncrementer()

      Description copied from interface: `Job`
      If clients need to generate new parameters for the next execution in a sequence they can use this incrementer. The return value may be `null`, in the case that this job does not have a natural sequence.
      Specified by:
        `getJobParametersIncrementer` in interface `Job`
      Returns:
        in incrementer to be used for creating new parameters

    - #### getJobParametersValidator

          public JobParametersValidator getJobParametersValidator()

      Description copied from interface: `Job`
      A validator for the job parameters of a `JobExecution`. Clients of a Job may need to validate the parameters for a launch, before or during the execution.
      Specified by:
        `getJobParametersValidator` in interface `Job`
      Returns:
        a validator that can be used to check parameter values (never `null`)

    - #### equals

          public boolean equals(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`