Package net.sf.ezmorph.object
Class NumberMorpher
- java.lang.Object
-
- net.sf.ezmorph.object.AbstractObjectMorpher
-
- net.sf.ezmorph.object.NumberMorpher
-
- All Implemented Interfaces:
Morpher
,ObjectMorpher
public final class NumberMorpher extends AbstractObjectMorpher
Morphs to a subclass of Number.
Supported types are - Byte, Short, Integer, Long, Float, BigInteger, BigtDecimal.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Number
defaultValue
private java.lang.Class
type
-
Constructor Summary
Constructors Constructor Description NumberMorpher(java.lang.Class type)
Creates a new morpher for the target type.NumberMorpher(java.lang.Class type, java.lang.Number defaultValue)
Creates a new morpher for the target type with a default value.
The defaultValue should be of the same class as the target type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
java.lang.Number
getDefaultValue()
Returns the default value for this Morpher.int
hashCode()
private boolean
isDecimalNumber(java.lang.Class type)
java.lang.Object
morph(java.lang.Object value)
Morphs the input object into an output object of the supported type.java.lang.Class
morphsTo()
Returns the target Class for conversion.private java.lang.Object
morphToBigDecimal(java.lang.String str)
private java.lang.Object
morphToBigInteger(java.lang.String str)
private java.lang.Object
morphToByte(java.lang.String str)
private java.lang.Object
morphToDouble(java.lang.String str)
private java.lang.Object
morphToFloat(java.lang.String str)
private java.lang.Object
morphToInteger(java.lang.String str)
private java.lang.Object
morphToLong(java.lang.String str)
private java.lang.Object
morphToShort(java.lang.String str)
void
setDefaultValue(java.lang.Number defaultValue)
Sets the defaultValue to use if the value to be morphed is null.
The defaultValue should be of the same class as the type this morpher returns withmorphsTo()
.-
Methods inherited from class net.sf.ezmorph.object.AbstractObjectMorpher
isUseDefault, setUseDefault, supports
-
-
-
-
Constructor Detail
-
NumberMorpher
public NumberMorpher(java.lang.Class type)
Creates a new morpher for the target type.- Parameters:
type
- must be a primitive or wrapper type. BigDecimal and BigInteger are also supported.
-
NumberMorpher
public NumberMorpher(java.lang.Class type, java.lang.Number defaultValue)
Creates a new morpher for the target type with a default value.
The defaultValue should be of the same class as the target type.- Parameters:
type
- must be a primitive or wrapper type. BigDecimal and BigInteger are also supported.defaultValue
- return value if the value to be morphed is null
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
getDefaultValue
public java.lang.Number getDefaultValue()
Returns the default value for this Morpher.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
morph
public java.lang.Object morph(java.lang.Object value)
Description copied from interface:ObjectMorpher
Morphs the input object into an output object of the supported type.- Parameters:
value
- The input value to be morphed
-
morphsTo
public java.lang.Class morphsTo()
Description copied from interface:Morpher
Returns the target Class for conversion.- Returns:
- the target Class for conversion.
-
setDefaultValue
public void setDefaultValue(java.lang.Number defaultValue)
Sets the defaultValue to use if the value to be morphed is null.
The defaultValue should be of the same class as the type this morpher returns withmorphsTo()
.- Parameters:
defaultValue
- return value if the value to be morphed is null
-
isDecimalNumber
private boolean isDecimalNumber(java.lang.Class type)
-
morphToBigDecimal
private java.lang.Object morphToBigDecimal(java.lang.String str)
-
morphToBigInteger
private java.lang.Object morphToBigInteger(java.lang.String str)
-
morphToByte
private java.lang.Object morphToByte(java.lang.String str)
-
morphToDouble
private java.lang.Object morphToDouble(java.lang.String str)
-
morphToFloat
private java.lang.Object morphToFloat(java.lang.String str)
-
morphToInteger
private java.lang.Object morphToInteger(java.lang.String str)
-
morphToLong
private java.lang.Object morphToLong(java.lang.String str)
-
morphToShort
private java.lang.Object morphToShort(java.lang.String str)
-
-