List of usage examples for com.google.common.reflect TypeToken getRawType
public final Class<? super T> getRawType()
From source file:io.appform.nautilus.funnel.utils.TypeUtils.java
public static <T> String typeName(TypeToken<T> type) { return type.getRawType().getSimpleName().toLowerCase(); }
From source file:org.jclouds.util.Optionals2.java
public static Class<?> unwrapIfOptional(TypeToken<?> type) { if (type.getRawType().isAssignableFrom(Optional.class)) { ParameterizedType futureType = ParameterizedType.class.cast(type.getType()); // TODO: error checking in case this is a type, not a class. Type t = futureType.getActualTypeArguments()[0]; if (t instanceof WildcardType) { t = ((WildcardType) t).getUpperBounds()[0]; }// w w w . ja v a 2 s . c o m return Class.class.cast(t); } return type.getRawType(); }
From source file:brooklyn.util.guava.TypeTokens.java
/** gets the Class<T> object from a token; normal methods return Class<? super T> which may technically be correct * with generics but this sloppily but handily gives you Class<T> which is usually what you have anyway */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static <T> Class<T> getRawRawType(TypeToken<T> token) { return (Class) token.getRawType(); }
From source file:ratpack.handling.internal.Extractions.java
public static void extract(List<TypeToken<?>> types, Registry registry, Object[] services, int startIndex) { for (int i = 0; i < types.size(); ++i) { TypeToken<?> type = types.get(i); if (type.getRawType().equals(Optional.class)) { TypeToken<?> paramType; try { paramType = type.resolveType(Optional.class.getMethod("get").getGenericReturnType()); } catch (NoSuchMethodException e) { throw new InternalError("Optional class does not have get method"); }//from w w w .j av a 2 s . c om Object optional = registry.maybeGet(paramType); services[i + startIndex] = optional; } else { Object service = registry.get(type); services[i + startIndex] = service; } } }
From source file:org.zalando.switchboard.TypeResolver.java
static <T> Class<T> resolve(final Object instance, final Class<?> type, final int index) { final TypeToken<?> token = TypeToken.of(instance.getClass()); final TypeToken<?> resolved = token.resolveType(type.getTypeParameters()[index]); return cast(resolved.getRawType()); }
From source file:com.datastax.driver.core.SanityChecks.java
/** * Detects if a version of guava older than 16.01 is present by attempting to create * a {@link TypeToken} instance for <code>Map<String,String></code> and ensures that the * value type argument is of instance {@link String}. If using an older version of guava * this will resolve to {@link Object} instead. In this case an {@link IllegalStateException} * is thrown./* ww w . j av a2s .c om*/ * * @throws IllegalStateException if version of guava less than 16.01 is detected. */ static void checkGuava() { boolean resolved = false; TypeToken<Map<String, String>> mapOfString = TypeTokens.mapOf(String.class, String.class); Type type = mapOfString.getType(); if (type instanceof ParameterizedType) { ParameterizedType pType = (ParameterizedType) type; Type[] types = pType.getActualTypeArguments(); if (types.length == 2) { TypeToken valueType = TypeToken.of(types[1]); resolved = valueType.getRawType().equals(String.class); } } if (!resolved) { throw new IllegalStateException( "Detected Guava issue #1635 which indicates that a version of Guava less than 16.01 is in use. " + "This introduces codec resolution issues and potentially other incompatibility issues in the driver. " + "Please upgrade to Guava 16.01 or later."); } }
From source file:brooklyn.util.guava.TypeTokens.java
/** returns null if it's raw, else the type token */ @Nullable/*w ww .j av a 2 s.c o m*/ public static <T> TypeToken<T> getTypeTokenIfNotRaw(@Nullable TypeToken<T> type) { if (type == null || type.equals(TypeToken.of(type.getRawType()))) { return null; } else { return type; } }
From source file:brooklyn.util.guava.TypeTokens.java
/** returns raw type, if it's raw, else null; * used e.g. to set only one of the raw type or the type token, * for instance to make serialized output nicer */ @Nullable//from w ww.j a v a 2s . c om public static <T> Class<? super T> getRawTypeIfRaw(@Nullable TypeToken<T> type) { if (type == null || !type.equals(TypeToken.of(type.getRawType()))) { return null; } else { return type.getRawType(); } }
From source file:edu.washington.cs.cupid.wizards.internal.TypeSelection.java
public static List<Class<?>> getSuperTypes(TypeToken<?> type) { List<Class<?>> result = Lists.newArrayList(); Class<?> clazz = type.getRawType(); while (clazz != null) { result.add(clazz);//from w w w. j a v a 2s.c o m for (Class<?> i : clazz.getInterfaces()) { if (!result.contains(i)) { result.add(i); } } clazz = clazz.getSuperclass(); } return result; }
From source file:me.yanaga.winter.data.jpa.metadata.RepositoryMetadata.java
public static RepositoryMetadata of(Class<? extends Repository> repositoryClass) { checkNotNull(repositoryClass);// w w w . j av a 2 s . c o m checkArgument(Repository.class.isAssignableFrom(repositoryClass)); TypeToken<? extends Repository> typeToken = TypeToken.of(repositoryClass); Type[] genericInterfaces = typeToken.getRawType().getGenericInterfaces(); if (genericInterfaces[0] instanceof ParameterizedType) { Type[] actualTypeArguments = ((ParameterizedType) genericInterfaces[0]).getActualTypeArguments(); Class<?> entityClass = (Class<?>) actualTypeArguments[0]; Class<? extends Serializable> idClass = (Class<? extends Serializable>) actualTypeArguments[1]; return new RepositoryMetadata(entityClass, idClass); } throw new IllegalArgumentException("Unable to determinate entityClass or idClass."); }