org.springframework.batch.core.repository.dao

## Interface JobInstanceDao

- All Known Implementing Classes:
    JdbcJobInstanceDao, MapJobInstanceDao

      public interface JobInstanceDao

  Data Access Object for job instances.
  Author:
    Lucas Ward, Robert Kasanicky, Michael Minella

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `JobInstance` | `createJobInstance(java.lang.String jobName, JobParameters jobParameters)` Create a JobInstance with given name and parameters.
    `java.util.List<JobInstance>` | `findJobInstancesByName(java.lang.String jobName, int start, int count)` Fetch the last job instances with the provided name, sorted backwards by primary key, using a 'like' criteria
    `JobInstance` | `getJobInstance(JobExecution jobExecution)` Fetch the JobInstance for the provided JobExecution.
    `JobInstance` | `getJobInstance(java.lang.Long instanceId)` Fetch the job instance with the provided identifier.
    `JobInstance` | `getJobInstance(java.lang.String jobName, JobParameters jobParameters)` Find the job instance that matches the given name and parameters.
    `int` | `getJobInstanceCount(java.lang.String jobName)` Query the repository for the number of unique `JobInstance`s associated with the supplied job name.
    `java.util.List<JobInstance>` | `getJobInstances(java.lang.String jobName, int start, int count)` Fetch the last job instances with the provided name, sorted backwards by primary key.
    `java.util.List<java.lang.String>` | `getJobNames()` Retrieve the names of all job instances sorted alphabetically - i.e.

- - ### Method Detail

    - #### createJobInstance

          JobInstance createJobInstance(java.lang.String jobName,
                                        JobParameters jobParameters)

      Create a JobInstance with given name and parameters. PreConditions: JobInstance for given name and parameters must not already exist PostConditions: A valid job instance will be returned which has been persisted and contains an unique Id.
      Parameters:
        `jobName` -
        `jobParameters` -
      Returns:
        JobInstance

    - #### getJobInstance

          JobInstance getJobInstance(java.lang.String jobName,
                                     JobParameters jobParameters)

      Find the job instance that matches the given name and parameters. If no matching job instances are found, then returns null.
      Parameters:
        `jobName` - the name of the job
        `jobParameters` - the parameters with which the job was executed
      Returns:
        `JobInstance` object matching the job name and `JobParameters` or null

    - #### getJobInstance

          JobInstance getJobInstance(java.lang.Long instanceId)

      Fetch the job instance with the provided identifier.
      Parameters:
        `instanceId` - the job identifier
      Returns:
        the job instance with this identifier or null if it doesn't exist

    - #### getJobInstance

          JobInstance getJobInstance(JobExecution jobExecution)

      Fetch the JobInstance for the provided JobExecution.
      Parameters:
        `jobExecution` - the JobExecution
      Returns:
        the JobInstance for the provided execution or null if it doesn't exist.

    - #### getJobInstances

          java.util.List<JobInstance> getJobInstances(java.lang.String jobName,
                                                      int start,
                                                      int count)

      Fetch the last job instances with the provided name, sorted backwards by primary key. if using the JdbcJobInstance, you can provide the jobName with a wildcard (e.g. *Job) to return 'like' job names. (e.g. *Job will return 'someJob' and 'otherJob')
      Parameters:
        `jobName` - the job name
        `start` - the start index of the instances to return
        `count` - the maximum number of objects to return
      Returns:
        the job instances with this name or empty if none

    - #### getJobNames

          java.util.List<java.lang.String> getJobNames()

      Retrieve the names of all job instances sorted alphabetically - i.e. jobs that have ever been executed.
      Returns:
        the names of all job instances

    - #### findJobInstancesByName

          java.util.List<JobInstance> findJobInstancesByName(java.lang.String jobName,
                                                             int start,
                                                             int count)

      Fetch the last job instances with the provided name, sorted backwards by primary key, using a 'like' criteria
      Parameters:
        `jobName` -
        `start` -
        `count` -
      Returns:

    - #### getJobInstanceCount

          int getJobInstanceCount(java.lang.String jobName)
                           throws NoSuchJobException

      Query the repository for the number of unique `JobInstance`s associated with the supplied job name.
      Parameters:
        `jobName` - the name of the job to query for
      Returns:
        the number of `JobInstance`s that exist within the associated job repository
      Throws:
        `NoSuchJobException`