Class 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 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