org.apache.commons.math.util
Class TransformerMap

java.lang.Object
  extended by org.apache.commons.math.util.TransformerMap
All Implemented Interfaces:
Serializable, NumberTransformer

public class TransformerMap
extends Object
implements NumberTransformer, Serializable

This TansformerMap automates the transformation of mixed object types. It provides a means to set NumberTransformers that will be selected based on the Class of the object handed to the Maps double transform(Object o) method.

See Also:
Serialized Form

Constructor Summary
TransformerMap()
          Build a map containing only the default transformer.
 
Method Summary
 Set<Class<?>> classes()
          Returns the Set of Classes used as keys in the map.
 void clear()
          Clears all the Class to Transformer mappings.
 boolean containsClass(Class<?> key)
          Tests if a Class is present in the TransformerMap.
 boolean containsTransformer(NumberTransformer value)
          Tests if a NumberTransformer is present in the TransformerMap.
 boolean equals(Object other)
          
 NumberTransformer getTransformer(Class<?> key)
          Returns the Transformer that is mapped to a class if mapping is not present, this returns null.
 int hashCode()
          
 NumberTransformer putTransformer(Class<?> key, NumberTransformer transformer)
          Sets a Class to Transformer Mapping in the Map.
 NumberTransformer removeTransformer(Class<?> key)
          Removes a Class to Transformer Mapping in the Map.
 double transform(Object o)
          Attempts to transform the Object against the map of NumberTransformers.
 Collection<NumberTransformer> transformers()
          Returns the Set of NumberTransformers used as values in the map.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransformerMap

public TransformerMap()
Build a map containing only the default transformer.

Method Detail

containsClass

public boolean containsClass(Class<?> key)
Tests if a Class is present in the TransformerMap.

Parameters:
key - Class to check
Returns:
true|false

containsTransformer

public boolean containsTransformer(NumberTransformer value)
Tests if a NumberTransformer is present in the TransformerMap.

Parameters:
value - NumberTransformer to check
Returns:
true|false

getTransformer

public NumberTransformer getTransformer(Class<?> key)
Returns the Transformer that is mapped to a class if mapping is not present, this returns null.

Parameters:
key - The Class of the object
Returns:
the mapped NumberTransformer or null.

putTransformer

public NumberTransformer putTransformer(Class<?> key,
                                        NumberTransformer transformer)
Sets a Class to Transformer Mapping in the Map. If the Class is already present, this overwrites that mapping.

Parameters:
key - The Class
transformer - The NumberTransformer
Returns:
the replaced transformer if one is present

removeTransformer

public NumberTransformer removeTransformer(Class<?> key)
Removes a Class to Transformer Mapping in the Map.

Parameters:
key - The Class
Returns:
the removed transformer if one is present or null if none was present.

clear

public void clear()
Clears all the Class to Transformer mappings.


classes

public Set<Class<?>> classes()
Returns the Set of Classes used as keys in the map.

Returns:
Set of Classes

transformers

public Collection<NumberTransformer> transformers()
Returns the Set of NumberTransformers used as values in the map.

Returns:
Set of NumberTransformers

transform

public double transform(Object o)
                 throws MathException
Attempts to transform the Object against the map of NumberTransformers. Otherwise it returns Double.NaN.

Specified by:
transform in interface NumberTransformer
Parameters:
o - the Object to be transformed.
Returns:
the double value of the Object.
Throws:
MathException - if the Object can not be transformed into a Double.
See Also:
NumberTransformer.transform(java.lang.Object)

equals

public boolean equals(Object other)

Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object


jHepWork 3.1 ©