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