Class ClassifierCompositeItemProcessor<I,​O>

  • All Implemented Interfaces:
    ItemProcessor<I,​O>

    public class ClassifierCompositeItemProcessor<I,​O>
    extends java.lang.Object
    implements ItemProcessor<I,​O>
    Calls one of a collection of ItemProcessors, based on a router pattern implemented through the provided Classifier. Note the user is responsible for injecting a Classifier that returns an ItemProcessor that conforms to the declared input and output types.
    Since:
    3.0
    Author:
    Jimmy Praet
    • Constructor Detail

      • ClassifierCompositeItemProcessor

        public ClassifierCompositeItemProcessor()
    • Method Detail

      • setClassifier

        public void setClassifier​(org.springframework.classify.Classifier<? super I,​ItemProcessor<?,​? extends O>> classifier)
        Establishes the classifier that will determine which ItemProcessor to use.
        Parameters:
        classifier - the Classifier to set
      • process

        public O process​(I item)
                  throws java.lang.Exception
        Delegates to injected ItemProcessor instances according to the classification by the Classifier.
        Specified by:
        process in interface ItemProcessor<I,​O>
        Parameters:
        item - to be processed
        Returns:
        potentially modified or new item for continued processing, null if processing of the provided item should not continue.
        Throws:
        java.lang.Exception - thrown if exception occurs during processing.