Class 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 with morphsTo().
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • defaultValue

        private java.lang.Number defaultValue
      • type

        private java.lang.Class type
    • 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 class java.lang.Object
      • getDefaultValue

        public java.lang.Number getDefaultValue()
        Returns the default value for this Morpher.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.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 with morphsTo().
        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)