Class ClassifierCompositeItemProcessor<I,O>
- java.lang.Object
- org.springframework.batch.item.support.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 providedClassifier. Note the user is responsible for injecting aClassifierthat returns an ItemProcessor that conforms to the declared input and output types.- Since:
- 3.0
- Author:
- Jimmy Praet
Constructor Summary
Constructors Constructor Description ClassifierCompositeItemProcessor()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Oprocess(I item)Delegates to injectedItemProcessorinstances according to the classification by theClassifier.voidsetClassifier(org.springframework.classify.Classifier<? super I,ItemProcessor<?,? extends O>> classifier)Establishes the classifier that will determine whichItemProcessorto use.
Method Detail
setClassifier
public void setClassifier(org.springframework.classify.Classifier<? super I,ItemProcessor<?,? extends O>> classifier)
Establishes the classifier that will determine whichItemProcessorto use.- Parameters:
classifier- theClassifierto set
process
public O process(I item) throws java.lang.Exception
Delegates to injectedItemProcessorinstances according to the classification by theClassifier.- Specified by:
processin interfaceItemProcessor<I,O>- Parameters:
item- to be processed- Returns:
- potentially modified or new item for continued processing,
nullif processing of the provided item should not continue. - Throws:
java.lang.Exception- thrown if exception occurs during processing.