public class TypeCoercions
extends java.lang.Object
| Modifier and Type | Field and Description | 
|---|---|
| static java.util.Map<java.lang.Class,java.lang.Class> | BOXED_TO_UNBOXED_TYPES | 
| static java.util.Map<java.lang.Class,java.lang.Class> | UNBOXED_TO_BOXED_TYPES | 
| Modifier and Type | Method and Description | 
|---|---|
| static <T> T | castPrimitive(java.lang.Object value,
             java.lang.Class<T> targetType)Sometimes need to explicitly cast primitives, rather than relying on Java casting. | 
| static <T> T | coerce(java.lang.Object value,
      java.lang.Class<T> targetType)Attempts to coerce  valuetotargetType. | 
| static <T> T | coerce(java.lang.Object value,
      com.google.common.reflect.TypeToken<T> targetTypeToken) | 
| static java.lang.Object | getMatchingConstructor(java.lang.Class target,
                      java.lang.Object... arguments)for automatic conversion | 
| static java.lang.String | getVerySimpleName(java.lang.Class c)returns the simple class name, and for any inner class the portion after the $ | 
| static boolean | isPrimitiveOrBoxer(java.lang.Class<?> type) | 
| static <A,B> void | registerAdapter(java.lang.Class<A> sourceType,
               java.lang.Class<B> targetType,
               com.google.common.base.Function<A,B> fn) | 
| static <E extends java.lang.Enum<E>>  | stringToEnum(java.lang.Class<E> type,
            E defaultValue)Type coercion  functionforenums. | 
| static <T> T | stringToPrimitive(java.lang.String value,
                 java.lang.Class<T> targetType) | 
| static <T> Maybe<T> | tryCoerce(java.lang.Object value,
         com.google.common.reflect.TypeToken<T> targetTypeToken) | 
public static final java.util.Map<java.lang.Class,java.lang.Class> BOXED_TO_UNBOXED_TYPES
public static final java.util.Map<java.lang.Class,java.lang.Class> UNBOXED_TO_BOXED_TYPES
public static <T> T coerce(java.lang.Object value,
           java.lang.Class<T> targetType)
value to targetType.
 
 Maintains a registry of adapter functions for type pairs in a Table which
 is searched after checking various strategies, including the following:
 
value.asTargetType()
 TargetType.fromType(value) (if value instanceof Type)
 value.targetTypeValue() (handy for primitives)
 TargetType.valueOf(value) (for enums)
 coerce(Object, TypeToken)public static <T> Maybe<T> tryCoerce(java.lang.Object value, com.google.common.reflect.TypeToken<T> targetTypeToken)
public static <T> T coerce(java.lang.Object value,
           com.google.common.reflect.TypeToken<T> targetTypeToken)
coerce(Object, Class)public static <E extends java.lang.Enum<E>> com.google.common.base.Function<java.lang.String,E> stringToEnum(java.lang.Class<E> type,
                                                                                             @Nullable
                                                                                             E defaultValue)
function for enums.
 
 Tries to convert the string to CaseFormat.UPPER_UNDERSCORE first,
 handling all of the different format possibilites. Failing 
 that, it tries a case-insensitive comparison with the valid enum values.
 
 Returns defaultValue if the string cannot be converted.
coerce(Object, Class), 
Enum.valueOf(Class, String)public static <T> T castPrimitive(java.lang.Object value,
                  java.lang.Class<T> targetType)
public static boolean isPrimitiveOrBoxer(java.lang.Class<?> type)
public static <T> T stringToPrimitive(java.lang.String value,
                      java.lang.Class<T> targetType)
public static java.lang.String getVerySimpleName(java.lang.Class c)
public static java.lang.Object getMatchingConstructor(java.lang.Class target,
                                      java.lang.Object... arguments)
public static <A,B> void registerAdapter(java.lang.Class<A> sourceType,
                         java.lang.Class<B> targetType,
                         com.google.common.base.Function<A,B> fn)