# Package org.springframework.batch.core

@NonNullApi package org.springframework.batch.core
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, Mahmoud Ben Hassine

- Related Packages
  Package
  Description
  org.springframework.batch
  Infrastructure implementations of .
  org.springframework.batch.core.annotation
  Annotations for java based configuration of listeners.
  org.springframework.batch.core.configuration
  Interfaces for registration and location of job configurations.
  org.springframework.batch.core.converter
  Support classes for implementations of the batch APIs.
  org.springframework.batch.core.explore
  Interfaces and related classes to support meta data browsing.
  org.springframework.batch.core.job
  Specific implementations of job concerns.
  org.springframework.batch.core.launch
  Interfaces and simple implementations of launch concerns.
  org.springframework.batch.core.listener
  Generic implementations of core batch listener interfaces.
  org.springframework.batch.core.metrics
  org.springframework.batch.core.partition
  Interfaces for partitioning components.
  org.springframework.batch.core.repository
  Interfaces and generic implementations of repository concerns.
  org.springframework.batch.core.resource
  org.springframework.batch.core.scope
  Implementation of Spring Batch specific bean scopes (Job and Step).
  org.springframework.batch.core.step
  Specific implementations of step concerns.
- Class
  Description
  BatchStatus
  Enumeration representing the status of an Execution.
  ChunkListener
  Listener interface for the lifecycle of a chunk.
  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.
  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.
  JobExecution
  Batch domain object representing the execution of a job.
  JobExecutionException
  Root of exception hierarchy for checked exceptions in job and step execution.
  JobExecutionListener
  Provide callbacks at specific points in the lifecycle of a `Job`.
  JobInstance
  Batch domain object representing a uniquely identifiable job run.
  JobInterruptedException
  Exception to indicate the job has been interrupted.
  JobKeyGenerator<T>
  Strategy interface for the generation of the key used in identifying unique `JobInstance`.
  JobParameter
  Domain representation of a parameter to a batch job.
  JobParameter.ParameterType
  Enumeration representing the type of a JobParameter.
  JobParameters
  Value object representing runtime parameters to a batch job.
  JobParametersBuilder
  Helper class for creating `JobParameters`.
  JobParametersIncrementer
  Interface for obtaining the next `JobParameters` in a sequence.
  JobParametersInvalidException
  Exception for `Job` to signal that some `JobParameters` are invalid.
  JobParametersValidator
  Strategy interface for a `Job` to use in validating its parameters for an execution.
  SkipListener<T,S>
  Interface for listener to skipped items.
  StartLimitExceededException
  Indicates the step's start limit has been exceeded.
  Step
  Batch domain interface representing the configuration of a step.
  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.
  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`
  UnexpectedJobExecutionException
  Indicates to the framework that a critical error has occurred and processing should immediately stop.