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 aClassifier
that 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 O
process(I item)
Delegates to injectedItemProcessor
instances according to the classification by theClassifier
.void
setClassifier(org.springframework.classify.Classifier<? super I,ItemProcessor<?,? extends O>> classifier)
Establishes the classifier that will determine whichItemProcessor
to use.
Method Detail
setClassifier
public void setClassifier(org.springframework.classify.Classifier<? super I,ItemProcessor<?,? extends O>> classifier)
Establishes the classifier that will determine whichItemProcessor
to use.- Parameters:
classifier
- theClassifier
to set
process
public O process(I item) throws java.lang.Exception
Delegates to injectedItemProcessor
instances according to the classification by theClassifier
.- Specified by:
process
in interfaceItemProcessor<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.