org.jopendocument.util.convertor
Class NumberConvertor<T extends java.lang.Number,U extends java.lang.Number>

java.lang.Object
  extended by org.jopendocument.util.convertor.NumberConvertor<T,U>
All Implemented Interfaces:
ValueConvertor<T,U>

public abstract class NumberConvertor<T extends java.lang.Number,U extends java.lang.Number>
extends java.lang.Object
implements ValueConvertor<T,U>


Nested Class Summary
static class NumberConvertor.OverflowException
           
static class NumberConvertor.RoundingException
           
 
Field Summary
static NumberConvertor<java.lang.Integer,java.lang.Long> INT_TO_LONG
           
static java.math.BigDecimal MAX_DOUBLE
           
static java.math.BigDecimal MAX_FLOAT
           
static java.math.BigDecimal MIN_DOUBLE
           
static java.math.BigDecimal MIN_FLOAT
           
static NumberConvertor<java.lang.Short,java.lang.Integer> SHORT_TO_INT
           
 
Constructor Summary
NumberConvertor()
           
 
Method Summary
static
<N extends java.lang.Number>
N
convert(java.lang.Number n, java.lang.Class<N> clazz)
          Convert from one class of Number to another.
static
<N extends java.lang.Number>
N
convertExact(java.lang.Number n, java.lang.Class<N> clazz)
           
static
<N1 extends java.lang.Number,N2 extends java.lang.Number>
NumberConvertor<N1,N2>
create(java.lang.Class<N1> c1, java.lang.Class<N2> c2, boolean exact)
           
static java.math.BigDecimal toBigDecimal(java.lang.Number n)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jopendocument.util.convertor.ValueConvertor
convert, unconvert
 

Field Detail

INT_TO_LONG

public static final NumberConvertor<java.lang.Integer,java.lang.Long> INT_TO_LONG

SHORT_TO_INT

public static final NumberConvertor<java.lang.Short,java.lang.Integer> SHORT_TO_INT

MAX_FLOAT

public static final java.math.BigDecimal MAX_FLOAT

MIN_FLOAT

public static final java.math.BigDecimal MIN_FLOAT

MAX_DOUBLE

public static final java.math.BigDecimal MAX_DOUBLE

MIN_DOUBLE

public static final java.math.BigDecimal MIN_DOUBLE
Constructor Detail

NumberConvertor

public NumberConvertor()
Method Detail

create

public static final <N1 extends java.lang.Number,N2 extends java.lang.Number> NumberConvertor<N1,N2> create(java.lang.Class<N1> c1,
                                                                                                            java.lang.Class<N2> c2,
                                                                                                            boolean exact)

convert

public static <N extends java.lang.Number> N convert(java.lang.Number n,
                                                     java.lang.Class<N> clazz)
Convert from one class of Number to another. Necessary since new Integer(123) isn't equal to new Long(123).

Type Parameters:
N - type of desired Number.
Parameters:
n - the instance to convert, e.g. new Integer(123).
clazz - desired class of Number, e.g. Long.class.
Returns:
n as an instance of clazz, e.g. new Long(123).

toBigDecimal

public static java.math.BigDecimal toBigDecimal(java.lang.Number n)

convertExact

public static <N extends java.lang.Number> N convertExact(java.lang.Number n,
                                                          java.lang.Class<N> clazz)
                                               throws NumberConvertor.OverflowException,
                                                      NumberConvertor.RoundingException
Throws:
NumberConvertor.OverflowException
NumberConvertor.RoundingException