org.apache.commons.math3.util
Class TransformerMap

java.lang.Object
  extended by org.apache.commons.math3.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.

Version:
$Id: TransformerMap.java 1416643 2012-12-03 19:37:14Z tn $
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
clone, finalize, 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 MathIllegalArgumentException
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:
MathIllegalArgumentException - 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


Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.