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 java.lang.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 and Description
    `ValidatingItemProcessor()` Default constructor
    `ValidatingItemProcessor(Validator<? super T> validator)` Creates a ValidatingItemProcessor based on the given Validator.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### 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 Detail

    - #### 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
      Returns:
        the input item
      Throws:
        `ValidationException` - if validation fails

    - #### afterPropertiesSet

          public void afterPropertiesSet()
                                  throws java.lang.Exception

      Specified by:
        `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
      Throws:
        `java.lang.Exception`