|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sf.morph.transform.transformers.BaseTransformer
net.sf.morph.transform.converters.NumberConverter
public class NumberConverter
Converts a number from one number type to another.
| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_ROUNDING_METHOD
Default rounding method |
| Fields inherited from class net.sf.morph.transform.transformers.BaseTransformer |
|---|
destinationClasses, log, sourceClasses |
| Fields inherited from interface net.sf.morph.transform.Transformer |
|---|
TRANSFORMATION_TYPE_CONVERT, TRANSFORMATION_TYPE_COPY |
| Fields inherited from interface net.sf.morph.transform.Transformer |
|---|
TRANSFORMATION_TYPE_CONVERT, TRANSFORMATION_TYPE_COPY |
| Constructor Summary | |
|---|---|
NumberConverter()
Creates a number converter that is ensuring data consistency. |
|
| Method Summary | |
|---|---|
protected void |
checkNotOutOfBounds(java.lang.Class destinationClass,
java.lang.Number number)
Verify number is within the bounds of destinationClass. |
protected java.lang.Object |
convertImpl(java.lang.Class destinationClass,
java.lang.Object source,
java.util.Locale locale)
The implementation of the convert method, which may omit
the invalid argument checks already performed by this base class. |
protected java.lang.Class[] |
getDestinationClassesImpl()
Transformer.getDestinationClasses() implementation template method. |
java.lang.String |
getRoundingMethod()
Get the rounding method used by this NumberConverter. |
protected java.lang.Class[] |
getSourceClassesImpl()
Transformer.getSourceClasses() implementation template method. |
protected boolean |
isDecimal(java.lang.Class numberType)
Learn whether numberType is a decimal type |
protected boolean |
isImpreciseTransformationImpl(java.lang.Class destinationClass,
java.lang.Class sourceClass)
Implementation of isImpreciseTransformation |
protected boolean |
isWrappingRuntimeExceptions()
Indicates whether runtime exceptions should be wrapped as TransformationExceptions. |
void |
setRoundingMethod(java.lang.String roundingMethod)
Set the rounding method used by this NumberConverter. |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface net.sf.morph.transform.DecoratedConverter |
|---|
convert, equals, equals |
| Methods inherited from interface net.sf.morph.transform.Converter |
|---|
convert |
| Methods inherited from interface net.sf.morph.transform.Transformer |
|---|
getDestinationClasses, getSourceClasses |
| Methods inherited from interface net.sf.morph.transform.Transformer |
|---|
getDestinationClasses, getSourceClasses |
| Methods inherited from interface net.sf.morph.transform.ExplicitTransformer |
|---|
isTransformable |
| Methods inherited from interface net.sf.morph.transform.ImpreciseTransformer |
|---|
isImpreciseTransformation |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_ROUNDING_METHOD
| Constructor Detail |
|---|
public NumberConverter()
| Method Detail |
|---|
protected java.lang.Class[] getSourceClassesImpl()
throws java.lang.Exception
Transformer.getSourceClasses() implementation template method.
getSourceClassesImpl in class BaseTransformerjava.lang.Exception
protected java.lang.Class[] getDestinationClassesImpl()
throws java.lang.Exception
Transformer.getDestinationClasses() implementation template method.
getDestinationClassesImpl in class BaseTransformerjava.lang.Exception
protected void checkNotOutOfBounds(java.lang.Class destinationClass,
java.lang.Number number)
throws java.lang.Exception
number is within the bounds of destinationClass.
destinationClass - number -
java.lang.Exception - if validation fails
protected boolean isImpreciseTransformationImpl(java.lang.Class destinationClass,
java.lang.Class sourceClass)
isImpreciseTransformationImpl in class BaseTransformer
protected java.lang.Object convertImpl(java.lang.Class destinationClass,
java.lang.Object source,
java.util.Locale locale)
throws java.lang.Exception
convert method, which may omit
the invalid argument checks already performed by this base class. By
default, this method creates a new instance of the destinationClass and
copies information from the source to the destination. This
implementation should be fine as-is for Copiers, but Converters will need
to implement this method since they will not be implementing the copy
method.
convertImpl in class BaseTransformerlocale - the locale in which the conversion should take place. for
converters that are not locale-aware, the local argument can
simply be ignored
java.lang.Exceptionprotected boolean isDecimal(java.lang.Class numberType)
numberType is a decimal type
numberType -
public java.lang.String getRoundingMethod()
public void setRoundingMethod(java.lang.String roundingMethod)
roundingMethod - protected boolean isWrappingRuntimeExceptions()
TransformationExceptions. By default, this method returns
true.
Simple transformers in Morph that operate on JDK types like Numbers and
Strings will usually set this value to true so that they
throw TransformationExceptions if problems occur. More complex
transformers that operate on graphs of objects are encouraged to set this
value to false so that runtime exceptions are not wrapped.
This way, problems accessing data will be expressed by the native API of
a user's domain objects and avoid the need to catch Morph-specific
exceptions (assuming the use of runtime exceptions in said domain
objects).
isWrappingRuntimeExceptions in class BaseTransformertrue
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||