Package: org.codehaus.groovy.runtime.typehandling

## [Java] Class DefaultTypeTransformation

- org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation

- Class providing various type conversions, coercions and boxing/unboxing operations.

  Authors:
    Guillaume Laforge

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected static Object[]` | `EMPTY_ARGUMENTS` |
    `protected static BigInteger` | `ONE_NEG` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static Collection` | `arrayAsCollection(Object value)`
    `<T>` | `static Collection<T>` | `arrayAsCollection(T[] value)`
    `` | `static Object` | `asArray(Object object, Class type)`
    `<T>` | `static Collection<T>` | `asCollection(T[] value)`
    `` | `static Collection` | `asCollection(Object value)`
    `` | `static boolean` | `booleanUnbox(Object value)`
    `` | `static Object` | `box(boolean value)`
    `` | `static Object` | `box(byte value)`
    `` | `static Object` | `box(char value)`
    `` | `static Object` | `box(short value)`
    `` | `static Object` | `box(int value)`
    `` | `static Object` | `box(long value)`
    `` | `static Object` | `box(float value)`
    `` | `static Object` | `box(double 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 Object` | `castToVargsArray(Object[] origin, int firstVargsPos, Class<?> arrayType)`
    `` | `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)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### protected static final Object[] EMPTY_ARGUMENTS

    - #### protected static final BigInteger ONE_NEG

  - ### Method Detail

    - #### public static Collection arrayAsCollection(Object value)

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

    - #### public static Object asArray(Object object, Class type)

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

    - #### public static Collection asCollection(Object value)

    - #### public static boolean booleanUnbox(Object value)

    - #### @Deprecated public static Object box(boolean value)

    - #### @Deprecated public static Object box(byte value)

    - #### @Deprecated public static Object box(char value)

    - #### @Deprecated public static Object box(short value)

    - #### @Deprecated public static Object box(int value)

    - #### @Deprecated public static Object box(long value)

    - #### @Deprecated public static Object box(float value)

    - #### @Deprecated public static Object box(double value)

    - #### public static byte byteUnbox(Object value)

    - #### 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

    - #### @Deprecated public static char castToChar(Object object)

    - #### public static Number castToNumber(Object object)

    - #### public static Number castToNumber(Object object, Class type)

    - #### public static Object castToType(Object object, Class type)

    - #### public static Object castToVargsArray(Object[] origin, int firstVargsPos, Class<?> arrayType)

    - #### public static char charUnbox(Object value)

    - #### public static boolean compareArrayEqual(Object left, Object right)

    - #### public static boolean compareEqual(Object left, Object right)

    - #### public static int compareTo(Object left, Object right)

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

    - #### @Deprecated public static boolean[] convertToBooleanArray(Object a)

    - #### @Deprecated public static byte[] convertToByteArray(Object a)

    - #### @Deprecated public static char[] convertToCharArray(Object a)

    - #### @Deprecated public static double[] convertToDoubleArray(Object a)

    - #### @Deprecated public static float[] convertToFloatArray(Object a)

    - #### @Deprecated public static int[] convertToIntArray(Object a)

    - #### @Deprecated public static long[] convertToLongArray(Object a)

    - #### @Deprecated public static Object convertToPrimitiveArray(Object a, Class type)

    - #### @Deprecated public static short[] convertToShortArray(Object a)

    - #### public static double doubleUnbox(Object value)

    - #### public static float floatUnbox(Object value)

    - #### @Deprecated public static Character getCharFromSizeOneString(Object value)

    - #### public static int intUnbox(Object value)

    - #### @Deprecated 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

    - #### public static long longUnbox(Object value)

    - #### public static Object[] primitiveArrayBox(Object array)

    - #### public static List primitiveArrayToList(Object array)

      Allows conversion of arrays into a mutable List

      Parameters:
        `array` - an array
      Returns:
        the array as a List

    - #### public static short shortUnbox(Object value)