org.apache.commons.collections
public class TransformerUtils extends Object
TransformerUtils
provides reference implementations and
utilities for the Transformer functor interface. The supplied transformers are:
java.lang.String
representation of the input object
Since: Commons Collections 3.0
Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $
Constructor Summary | |
---|---|
TransformerUtils()
This class is not normally instantiated. |
Method Summary | |
---|---|
static Transformer | asTransformer(Closure closure)
Creates a Transformer that calls a Closure each time the transformer is used.
|
static Transformer | asTransformer(Predicate predicate)
Creates a Transformer that calls a Predicate each time the transformer is used.
|
static Transformer | asTransformer(Factory factory)
Creates a Transformer that calls a Factory each time the transformer is used.
|
static Transformer | chainedTransformer(Transformer transformer1, Transformer transformer2)
Create a new Transformer that calls two transformers, passing the result of
the first into the second.
|
static Transformer | chainedTransformer(Transformer[] transformers)
Create a new Transformer that calls each transformer in turn, passing the
result into the next transformer.
|
static Transformer | chainedTransformer(Collection transformers)
Create a new Transformer that calls each transformer in turn, passing the
result into the next transformer. |
static Transformer | cloneTransformer()
Gets a transformer that returns a clone of the input
object. |
static Transformer | constantTransformer(Object constantToReturn)
Creates a Transformer that will return the same object each time the
transformer is used.
|
static Transformer | exceptionTransformer()
Gets a transformer that always throws an exception.
|
static Transformer | instantiateTransformer()
Gets a Transformer that expects an input Class object that it will instantiate.
|
static Transformer | instantiateTransformer(Class[] paramTypes, Object[] args)
Creates a Transformer that expects an input Class object that it will
instantiate. |
static Transformer | invokerTransformer(String methodName)
Gets a Transformer that invokes a method on the input object.
|
static Transformer | invokerTransformer(String methodName, Class[] paramTypes, Object[] args)
Gets a Transformer that invokes a method on the input object.
|
static Transformer | mapTransformer(Map map)
Creates a Transformer that uses the passed in Map to transform the input
object (as a simple lookup).
|
static Transformer | nopTransformer()
Gets a transformer that returns the input object.
|
static Transformer | nullTransformer()
Gets a transformer that always returns null.
|
static Transformer | stringValueTransformer()
Gets a transformer that returns a java.lang.String
representation of the input object. |
static Transformer | switchMapTransformer(Map objectsAndTransformers)
Create a new Transformer that uses the input object as a key to find the
transformer to call.
|
static Transformer | switchTransformer(Predicate predicate, Transformer trueTransformer, Transformer falseTransformer)
Create a new Transformer that calls one of two transformers depending
on the specified predicate.
|
static Transformer | switchTransformer(Predicate[] predicates, Transformer[] transformers)
Create a new Transformer that calls one of the transformers depending
on the predicates. |
static Transformer | switchTransformer(Predicate[] predicates, Transformer[] transformers, Transformer defaultTransformer)
Create a new Transformer that calls one of the transformers depending
on the predicates. |
static Transformer | switchTransformer(Map predicatesAndTransformers)
Create a new Transformer that calls one of the transformers depending
on the predicates.
|
Parameters: closure the closure to run each time in the transformer, not null
Returns: the transformer
Throws: IllegalArgumentException if the closure is null
Parameters: predicate the predicate to run each time in the transformer, not null
Returns: the transformer
Throws: IllegalArgumentException if the predicate is null
Parameters: factory the factory to run each time in the transformer, not null
Returns: the transformer
Throws: IllegalArgumentException if the factory is null
Parameters: transformer1 the first transformer transformer2 the second transformer
Returns: the transformer
Throws: IllegalArgumentException if either transformer is null
Parameters: transformers an array of transformers to chain
Returns: the transformer
Throws: IllegalArgumentException if the transformers array is null IllegalArgumentException if any transformer in the array is null
Parameters: transformers a collection of transformers to chain
Returns: the transformer
Throws: IllegalArgumentException if the transformers collection is null IllegalArgumentException if any transformer in the collection is null
Parameters: constantToReturn the constant object to return each time in the transformer
Returns: the transformer.
Returns: the transformer
Returns: the transformer
Parameters: paramTypes parameter types for the constructor, can be null args the arguments to pass to the constructor, can be null
Returns: the transformer
Throws: IllegalArgumentException if the paramTypes and args don't match
For example, Parameters: methodName the method name to call on the input object, may not be null Returns: the transformer Throws: IllegalArgumentException if the methodName is null. TransformerUtils.invokerTransformer("getName");
will call the getName/code> method on the input object to
determine the transformer result.
Parameters: methodName the name of the method paramTypes the parameter types args the arguments
Returns: the transformer
Throws: IllegalArgumentException if the method name is null IllegalArgumentException if the paramTypes and args don't match
Parameters: map the map to use to transform the objects
Returns: the transformer
Throws: IllegalArgumentException if the map is null
Returns: the transformer
java.lang.String
representation of the input object. This is achieved via the
toString
method, null
returns 'null'.
Returns: the transformer
The Map consists of object keys and Transformer values. A transformer is called if the input object equals the key. If there is no match, the default transformer is called. The default transformer is set in the map using a null key. If no default is set, null will be returned in a default case.
Parameters: objectsAndTransformers a map of objects to transformers
Returns: the transformer
Throws: IllegalArgumentException if the map is null IllegalArgumentException if the map is empty IllegalArgumentException if any transformer in the map is null
Parameters: predicate the predicate to switch on trueTransformer the transformer called if the predicate is true falseTransformer the transformer called if the predicate is false
Returns: the transformer
Throws: IllegalArgumentException if the predicate is null IllegalArgumentException if either transformer is null
Parameters: predicates an array of predicates to check transformers an array of transformers to call
Returns: the transformer
Throws: IllegalArgumentException if the either array is null IllegalArgumentException if the either array has 0 elements IllegalArgumentException if any element in the arrays is null IllegalArgumentException if the arrays are different sizes
Parameters: predicates an array of predicates to check transformers an array of transformers to call defaultTransformer the default to call if no predicate matches, null means return null
Returns: the transformer
Throws: IllegalArgumentException if the either array is null IllegalArgumentException if the either array has 0 elements IllegalArgumentException if any element in the arrays is null IllegalArgumentException if the arrays are different sizes
The Map consists of Predicate keys and Transformer values. A transformer is called if its matching predicate returns true. Each predicate is evaluated until one returns true. If no predicates evaluate to true, the default transformer is called. The default transformer is set in the map with a null key. If no default transformer is set, null will be returned in a default case. The ordering is that of the iterator() method on the entryset collection of the map.
Parameters: predicatesAndTransformers a map of predicates to transformers
Returns: the transformer
Throws: IllegalArgumentException if the map is null IllegalArgumentException if the map is empty IllegalArgumentException if any transformer in the map is null ClassCastException if the map elements are of the wrong type