org.codehaus.groovy.runtime.typehandling

## Class DefaultTypeTransformation

- java.lang.Object
- - org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation

-     public class DefaultTypeTransformation
      extends Object

  Class providing various type conversions, coercions and boxing/unboxing operations.
  Author:
    Guillaume Laforge

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static Object[]` | `EMPTY_ARGUMENTS`
    `protected static BigInteger` | `ONE_NEG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultTypeTransformation()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Collection` | `arrayAsCollection(Object value)`
    `static <T> Collection<T>` | `arrayAsCollection(T[] value)`
    `static Object` | `asArray(Object object, Class type)`
    `static Collection` | `asCollection(Object value)`
    `static <T> Collection<T>` | `asCollection(T[] value)`
    `static boolean` | `booleanUnbox(Object value)`
    `static Object` | `box(boolean value)`
    `static Object` | `box(byte value)`
    `static Object` | `box(char value)`
    `static Object` | `box(double value)`
    `static Object` | `box(float value)`
    `static Object` | `box(int value)`
    `static Object` | `box(long value)`
    `static Object` | `box(short value)`
    `static byte` | `byteUnbox(Object value)`
    `static boolean` | `castToBoolean(Object object)` Method used for coercing an object to a boolean value, thanks to an `asBoolean()` method added on types.
    `static char` | `castToChar(Object object)`
    `static Number` | `castToNumber(Object object)`
    `static Number` | `castToNumber(Object object, Class type)`
    `static Object` | `castToType(Object object, Class type)`
    `static char` | `charUnbox(Object value)`
    `static boolean` | `compareArrayEqual(Object left, Object right)`
    `static boolean` | `compareEqual(Object left, Object right)`
    `static int` | `compareTo(Object left, Object right)` Compares the two objects handling nulls gracefully and performing numeric type coercion if required
    `static boolean[]` | `convertToBooleanArray(Object a)`
    `static byte[]` | `convertToByteArray(Object a)`
    `static char[]` | `convertToCharArray(Object a)`
    `static double[]` | `convertToDoubleArray(Object a)`
    `static float[]` | `convertToFloatArray(Object a)`
    `static int[]` | `convertToIntArray(Object a)`
    `static long[]` | `convertToLongArray(Object a)`
    `static Object` | `convertToPrimitiveArray(Object a, Class type)`
    `static short[]` | `convertToShortArray(Object a)`
    `static double` | `doubleUnbox(Object value)`
    `static float` | `floatUnbox(Object value)`
    `static Character` | `getCharFromSizeOneString(Object value)`
    `static int` | `intUnbox(Object value)`
    `static boolean` | `isEnumSubclass(Object value)` Determines whether the value object is a Class object representing a subclass of java.lang.Enum.
    `static long` | `longUnbox(Object value)`
    `static Object[]` | `primitiveArrayBox(Object array)`
    `static List` | `primitiveArrayToList(Object array)` Allows conversion of arrays into a mutable List
    `static short` | `shortUnbox(Object value)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### EMPTY_ARGUMENTS

          protected static final Object[] EMPTY_ARGUMENTS

    - #### ONE_NEG

          protected static final BigInteger ONE_NEG

  - ### Constructor Detail

    - #### DefaultTypeTransformation

          public DefaultTypeTransformation()

  - ### Method Detail

    - #### byteUnbox

          public static byte byteUnbox(Object value)

    - #### charUnbox

          public static char charUnbox(Object value)

    - #### shortUnbox

          public static short shortUnbox(Object value)

    - #### intUnbox

          public static int intUnbox(Object value)

    - #### booleanUnbox

          public static boolean booleanUnbox(Object value)

    - #### longUnbox

          public static long longUnbox(Object value)

    - #### floatUnbox

          public static float floatUnbox(Object value)

    - #### doubleUnbox

          public static double doubleUnbox(Object value)

    - #### box

          public static Object box(boolean value)

    - #### box

          public static Object box(byte value)

    - #### box

          public static Object box(char value)

    - #### box

          public static Object box(short value)

    - #### box

          public static Object box(int value)

    - #### box

          public static Object box(long value)

    - #### box

          public static Object box(float value)

    - #### box

          public static Object box(double value)

    - #### castToNumber

          public static Number castToNumber(Object object)

    - #### castToNumber

          public static Number castToNumber(Object object,
                            Class type)

    - #### castToBoolean

          public static boolean castToBoolean(Object object)

      Method used for coercing an object to a boolean value, thanks to an `asBoolean()` method added on types.
      Parameters:
        `object` - to coerce to a boolean value
      Returns:
        a boolean value

    - #### castToChar

          public static char castToChar(Object object)

    - #### castToType

          public static Object castToType(Object object,
                          Class type)

    - #### asArray

          public static Object asArray(Object object,
                       Class type)

    - #### asCollection

          public static <T> Collection<T> asCollection(T[] value)

    - #### asCollection

          public static Collection asCollection(Object value)

    - #### arrayAsCollection

          public static Collection arrayAsCollection(Object value)

    - #### arrayAsCollection

          public static <T> Collection<T> arrayAsCollection(T[] value)

    - #### isEnumSubclass

          public static boolean isEnumSubclass(Object value)

      Determines whether the value object is a Class object representing a subclass of java.lang.Enum. Uses class name check to avoid breaking on pre-Java 5 JREs.
      Parameters:
        `value` - an object
      Returns:
        true if the object is an Enum

    - #### primitiveArrayToList

          public static List primitiveArrayToList(Object array)

      Allows conversion of arrays into a mutable List
      Parameters:
        `array` - an array
      Returns:
        the array as a List

    - #### primitiveArrayBox

          public static Object[] primitiveArrayBox(Object array)

    - #### compareTo

          public static int compareTo(Object left,
                      Object right)

      Compares the two objects handling nulls gracefully and performing numeric type coercion if required

    - #### compareEqual

          public static boolean compareEqual(Object left,
                             Object right)

    - #### compareArrayEqual

          public static boolean compareArrayEqual(Object left,
                                  Object right)

    - #### convertToIntArray

          public static int[] convertToIntArray(Object a)

    - #### convertToBooleanArray

          public static boolean[] convertToBooleanArray(Object a)

    - #### convertToByteArray

          public static byte[] convertToByteArray(Object a)

    - #### convertToShortArray

          public static short[] convertToShortArray(Object a)

    - #### convertToCharArray

          public static char[] convertToCharArray(Object a)

    - #### convertToLongArray

          public static long[] convertToLongArray(Object a)

    - #### convertToFloatArray

          public static float[] convertToFloatArray(Object a)

    - #### convertToDoubleArray

          public static double[] convertToDoubleArray(Object a)

    - #### convertToPrimitiveArray

          public static Object convertToPrimitiveArray(Object a,
                                       Class type)

    - #### getCharFromSizeOneString

          public static Character getCharFromSizeOneString(Object value)