Package org.springframework.batch.item.validator

# Class ValidatingItemProcessor<T>

java.lang.Object
org.springframework.batch.item.validator.ValidatingItemProcessor<T>

All Implemented Interfaces:
  `ItemProcessor<T,T>`, `org.springframework.beans.factory.InitializingBean`

Direct Known Subclasses:
  `BeanValidatingItemProcessor`

public class ValidatingItemProcessor<T> extends Object implements ItemProcessor<T,T>, org.springframework.beans.factory.InitializingBean
Simple implementation of `ItemProcessor` that validates input and returns it without modifications. Should the given `Validator` throw a `ValidationException` this processor will re-throw it to indicate the item should be skipped, unless `setFilter(boolean)` is set to `true`, in which case `null` will be returned to indicate the item should be filtered.

Author:
  Robert Kasanicky

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ValidatingItemProcessor()`
  Default constructor
  `ValidatingItemProcessor(Validator<? super T> validator)`
  Creates a ValidatingItemProcessor based on the given Validator.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `afterPropertiesSet()`
  `T`
  `process(T item)`
  Validate the item and return it unmodified
  `void`
  `setFilter(boolean filter)`
  Should the processor filter invalid records instead of skipping them?
  `void`
  `setValidator(Validator<? super T> validator)`
  Set the validator used to validate each item.

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ValidatingItemProcessor

    public ValidatingItemProcessor()
    Default constructor

  - ### ValidatingItemProcessor

    public ValidatingItemProcessor(Validator<? super T> validator)
    Creates a ValidatingItemProcessor based on the given Validator.
    Parameters:
      `validator` - the `Validator` instance to be used.

- ## Method Details

  - ### setValidator

    public void setValidator(Validator<? super T> validator)
    Set the validator used to validate each item.
    Parameters:
      `validator` - the `Validator` instance to be used.

  - ### setFilter

    public void setFilter(boolean filter)
    Should the processor filter invalid records instead of skipping them?
    Parameters:
      `filter` - if set to `true`, items that fail validation are filtered (`null` is returned). Otherwise, a `ValidationException` will be thrown.

  - ### process

    @Nullable public T process(T item) throws ValidationException
    Validate the item and return it unmodified
    Specified by:
      `process` in interface `ItemProcessor<T,T>`
    Parameters:
      `item` - to be processed, never `null`.
    Returns:
      the input item
    Throws:
      `ValidationException` - if validation fails

  - ### afterPropertiesSet

    public void afterPropertiesSet() throws Exception
    Specified by:
      `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
    Throws:
      `Exception`