# Package org.springframework.batch.core

Core domain context for Spring Batch covering jobs, steps, configuration and execution abstractions.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ChunkListener | Listener interface for the lifecycle of a chunk.
  ItemProcessListener<T,S> | Listener interface for the processing of an item.
  ItemReadListener<T> | Listener interface around the reading of an item.
  ItemWriteListener<S> | Listener interface for the writing of items.
  Job | Batch domain object representing a job.
  JobExecutionListener | Provide callbacks at specific points in the lifecycle of a `Job`.
  JobKeyGenerator<T> | Strategy interface for the generation of the key used in identifying unique `JobInstance`.
  JobParametersIncrementer | Interface for obtaining the next `JobParameters` in a sequence.
  JobParametersValidator | Strategy interface for a `Job` to use in validating its parameters for an execution.
  SkipListener<T,S> | Interface for listener to skipped items.
  Step | Batch domain interface representing the configuration of a step.
  StepExecutionListener | Listener interface for the lifecycle of a `Step`.
  StepListener | Marker interface that acts as a parent to all step domain listeners, such as: `StepExecutionListener`, `ChunkListener`, `ItemReadListener` and `ItemWriteListener`

- Class Summary
  Class | Description
  --- | ---
  DefaultJobKeyGenerator | Default implementation of the `JobKeyGenerator` interface.
  Entity | Batch Domain Entity class.
  ExitStatus | Value object used to carry information about the status of a job or step execution.
  JobExecution | Batch domain object representing the execution of a job.
  JobInstance | Batch domain object representing a uniquely identifiable job run.
  JobParameter | Domain representation of a parameter to a batch job.
  JobParameters | Value object representing runtime parameters to a batch job.
  JobParametersBuilder | Helper class for creating `JobParameters`.
  StepContribution | Represents a contribution to a `StepExecution`, buffering changes until they can be applied at a chunk boundary.
  StepExecution | Batch domain object representation the execution of a step.

- Enum Summary
  Enum | Description
  --- | ---
  BatchStatus | Enumeration representing the status of a an Execution.
  JobParameter.ParameterType | Enumeration representing the type of a JobParameter.

- Exception Summary
  Exception | Description
  --- | ---
  JobExecutionException | Root of exception hierarchy for checked exceptions in job and step execution.
  JobInterruptedException | Exception to indicate the the job has been interrupted.
  JobParametersInvalidException | Exception for `Job` to signal that some `JobParameters` are invalid.
  StartLimitExceededException | Indicates the step's start limit has been exceeded.
  UnexpectedJobExecutionException | Indicates to the framework that a critical error has occurred and processing should immediately stop.

## Package org.springframework.batch.core Description

Core domain context for Spring Batch covering jobs, steps, configuration and execution abstractions. Most classes here are interfaces with implementations saved for specific applications. This is the public API of Spring Batch. There is a reference implementation of the core interfaces in the execution module.

Author:
  Michael Minella