org.springframework.batch.classify
Class BackToBackPatternClassifier<C,T>

java.lang.Object
  extended by org.springframework.batch.classify.BackToBackPatternClassifier<C,T>
All Implemented Interfaces:
Classifier<C,T>

public class BackToBackPatternClassifier<C,T>
extends Object
implements Classifier<C,T>

A special purpose Classifier with easy configuration options for mapping from one arbitrary type of object to another via a pattern matcher.

Author:
Dave Syer

Constructor Summary
BackToBackPatternClassifier()
          Default constructor, provided as a convenience for people using setter injection.
BackToBackPatternClassifier(Classifier<C,String> router, Classifier<String,T> matcher)
          Set up a classifier with input to the router and output from the matcher.
 
Method Summary
 T classify(C classifiable)
          Classify the input and map to a String, then take that and put it into a pattern matcher to match to an output value.
 void setMatcherMap(Map<String,T> map)
          A convenience method for creating a pattern matching classifier for the matcher component.
 void setRouterDelegate(Object delegate)
          A convenience method of creating a router classifier based on a plain old Java Object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BackToBackPatternClassifier

public BackToBackPatternClassifier()
Default constructor, provided as a convenience for people using setter injection.


BackToBackPatternClassifier

public BackToBackPatternClassifier(Classifier<C,String> router,
                                   Classifier<String,T> matcher)
Set up a classifier with input to the router and output from the matcher.

Parameters:
router - see setRouterDelegate(Object)
matcher - see setMatcherMap(Map)
Method Detail

setMatcherMap

public void setMatcherMap(Map<String,T> map)
A convenience method for creating a pattern matching classifier for the matcher component.

Parameters:
map - maps pattern keys with wildcards to output values

setRouterDelegate

public void setRouterDelegate(Object delegate)
A convenience method of creating a router classifier based on a plain old Java Object. The object provided must have precisely one public method that either has the @Classifier annotation or accepts a single argument and outputs a String. This will be used to create an input classifier for the router component.

Parameters:
delegate - the delegate object used to create a router classifier

classify

public T classify(C classifiable)
Classify the input and map to a String, then take that and put it into a pattern matcher to match to an output value.

Specified by:
classify in interface Classifier<C,T>
Parameters:
classifiable - the input object. Can be null.
Returns:
an object. Can be null, but implementations should declare if this is the case.


Copyright © 2013 SpringSource. All Rights Reserved.