private static TypeResult getTypeParameter(Class<?> clazz, Type argType) { if (argType instanceof Class<?>) { return new TypeResult((Class<?>) argType, -1, 0); } else if (argType instanceof ParameterizedType) { return new TypeResult((Class<?>)((ParameterizedType) argType).getRawType(), -1, 0); } else if (argType instanceof GenericArrayType) { Type arrayElementType = ((GenericArrayType) argType).getGenericComponentType(); TypeResult result = getTypeParameter(clazz, arrayElementType); result.incrementDimension(1); return result; } else { TypeVariable<?>[] tvs = clazz.getTypeParameters(); for (int i = 0; i < tvs.length; i++) { if (tvs[i].equals(argType)) { return new TypeResult(null, i, 0); } } return null; } }
private static TypeResult getTypeParameter(Class<?> clazz, Type argType) { if (argType instanceof Class<?>) { return new TypeResult((Class<?>) argType, -1, 0); } else if (argType instanceof ParameterizedType) { return new TypeResult((Class<?>)((ParameterizedType) argType).getRawType(), -1, 0); } else if (argType instanceof GenericArrayType) { Type arrayElementType = ((GenericArrayType) argType).getGenericComponentType(); TypeResult result = getTypeParameter(clazz, arrayElementType); result.incrementDimension(1); return result; } else { TypeVariable<?>[] tvs = clazz.getTypeParameters(); for (int i = 0; i < tvs.length; i++) { if (tvs[i].equals(argType)) { return new TypeResult(null, i, 0); } } return null; } }
private static TypeResult getTypeParameter(Class<?> clazz, Type argType) { if (argType instanceof Class<?>) { return new TypeResult((Class<?>) argType, -1, 0); } else if (argType instanceof ParameterizedType) { return new TypeResult((Class<?>)((ParameterizedType) argType).getRawType(), -1, 0); } else if (argType instanceof GenericArrayType) { Type arrayElementType = ((GenericArrayType) argType).getGenericComponentType(); TypeResult result = getTypeParameter(clazz, arrayElementType); result.incrementDimension(1); return result; } else { TypeVariable<?>[] tvs = clazz.getTypeParameters(); for (int i = 0; i < tvs.length; i++) { if (tvs[i].equals(argType)) { return new TypeResult(null, i, 0); } } return null; } }
private static TypeResult getTypeParameter(Class<?> clazz, Type argType) { if (argType instanceof Class<?>) { return new TypeResult((Class<?>) argType, -1, 0); } else if (argType instanceof ParameterizedType) { return new TypeResult((Class<?>)((ParameterizedType) argType).getRawType(), -1, 0); } else if (argType instanceof GenericArrayType) { Type arrayElementType = ((GenericArrayType) argType).getGenericComponentType(); TypeResult result = getTypeParameter(clazz, arrayElementType); result.incrementDimension(1); return result; } else { TypeVariable<?>[] tvs = clazz.getTypeParameters(); for (int i = 0; i < tvs.length; i++) { if (tvs[i].equals(argType)) { return new TypeResult(null, i, 0); } } return null; } }
private static TypeResult getTypeParameter(Class<?> clazz, Type argType) { if (argType instanceof Class<?>) { return new TypeResult((Class<?>) argType, -1, 0); } else if (argType instanceof ParameterizedType) { return new TypeResult((Class<?>)((ParameterizedType) argType).getRawType(), -1, 0); } else if (argType instanceof GenericArrayType) { Type arrayElementType = ((GenericArrayType) argType).getGenericComponentType(); TypeResult result = getTypeParameter(clazz, arrayElementType); result.incrementDimension(1); return result; } else { TypeVariable<?>[] tvs = clazz.getTypeParameters(); for (int i = 0; i < tvs.length; i++) { if (tvs[i].equals(argType)) { return new TypeResult(null, i, 0); } } return null; } }
return getTypeParameter( clazz, pi.getActualTypeArguments()[0]); TypeResult result = getTypeParameter(clazz, superClassType.getActualTypeArguments()[ superClassTypeResult.getIndex()]);
return getTypeParameter( clazz, pi.getActualTypeArguments()[0]); TypeResult result = getTypeParameter(clazz, superClassType.getActualTypeArguments()[ superClassTypeResult.getIndex()]);
return getTypeParameter( clazz, pi.getActualTypeArguments()[0]); TypeResult result = getTypeParameter(clazz, superClassType.getActualTypeArguments()[ superClassTypeResult.getIndex()]);
return getTypeParameter( clazz, pi.getActualTypeArguments()[0]); TypeResult result = getTypeParameter(clazz, superClassType.getActualTypeArguments()[ superClassTypeResult.getIndex()]);
return getTypeParameter( clazz, pi.getActualTypeArguments()[0]); TypeResult result = getTypeParameter(clazz, superClassType.getActualTypeArguments()[ superClassTypeResult.getIndex()]);