Refine search
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be equal if (!Reflections.getRawType(type1).equals(Reflections.getRawType(type2))) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < types1.length; i++) { if (!isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
return isAssignableFrom((Class<?>) type1, (Class<?>) type2); return isAssignableFrom((Class<?>) type1, (ParameterizedType) type2); return isAssignableFrom((Class<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((Class<?>) type1, (GenericArrayType) type2); return isAssignableFrom((ParameterizedType) type1, (Class<?>) type2); return isAssignableFrom((ParameterizedType) type1, (ParameterizedType) type2); return isAssignableFrom((ParameterizedType) type1, (TypeVariable<?>) type2); return isAssignableFrom((ParameterizedType) type1, (GenericArrayType) type2); return isAssignableFrom((TypeVariable<?>) type1, (Class<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (ParameterizedType) type2); return isAssignableFrom((TypeVariable<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (GenericArrayType) type2); return isAssignableFrom((GenericArrayType) type1, (Class<?>) type2); return isAssignableFrom((GenericArrayType) type1, (ParameterizedType) type2); return isAssignableFrom((GenericArrayType) type1, (TypeVariable<?>) type2);
private static boolean isAssignableFrom(GenericArrayType type1, GenericArrayType type2) { return isAssignableFrom(type1.getGenericComponentType(), type2.getGenericComponentType()); } }
return isAssignableFrom((Class<?>) type1, (Class<?>) type2); return isAssignableFrom((Class<?>) type1, (ParameterizedType) type2); return isAssignableFrom((Class<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((Class<?>) type1, (GenericArrayType) type2); return isAssignableFrom((ParameterizedType) type1, (Class<?>) type2); return isAssignableFrom((ParameterizedType) type1, (ParameterizedType) type2); return isAssignableFrom((ParameterizedType) type1, (TypeVariable<?>) type2); return isAssignableFrom((ParameterizedType) type1, (GenericArrayType) type2); return isAssignableFrom((TypeVariable<?>) type1, (Class<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (ParameterizedType) type2); return isAssignableFrom((TypeVariable<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (GenericArrayType) type2); return isAssignableFrom((GenericArrayType) type1, (Class<?>) type2); return isAssignableFrom((GenericArrayType) type1, (ParameterizedType) type2); return isAssignableFrom((GenericArrayType) type1, (TypeVariable<?>) type2);
private static boolean isAssignableFrom(GenericArrayType type1, GenericArrayType type2) { return isAssignableFrom(type1.getGenericComponentType(), type2.getGenericComponentType()); } }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be equal if (!Reflections.getRawType(type1).equals(Reflections.getRawType(type2))) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < types1.length; i++) { if (!isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
return isAssignableFrom((Class<?>) type1, (Class<?>) type2); return isAssignableFrom((Class<?>) type1, (ParameterizedType) type2); return isAssignableFrom((Class<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((Class<?>) type1, (GenericArrayType) type2); return isAssignableFrom((ParameterizedType) type1, (Class<?>) type2); return isAssignableFrom((ParameterizedType) type1, (ParameterizedType) type2); return isAssignableFrom((ParameterizedType) type1, (TypeVariable<?>) type2); return isAssignableFrom((ParameterizedType) type1, (GenericArrayType) type2); return isAssignableFrom((TypeVariable<?>) type1, (Class<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (ParameterizedType) type2); return isAssignableFrom((TypeVariable<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (GenericArrayType) type2); return isAssignableFrom((GenericArrayType) type1, (Class<?>) type2); return isAssignableFrom((GenericArrayType) type1, (ParameterizedType) type2); return isAssignableFrom((GenericArrayType) type1, (TypeVariable<?>) type2);
private static boolean isAssignableFrom(GenericArrayType type1, GenericArrayType type2) { return isAssignableFrom(type1.getGenericComponentType(), type2.getGenericComponentType()); } }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be equal if (!Reflections.getRawType(type1).equals(Reflections.getRawType(type2))) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < types1.length; i++) { if (!isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
return isAssignableFrom((Class<?>) type1, (Class<?>) type2); return isAssignableFrom((Class<?>) type1, (ParameterizedType) type2); return isAssignableFrom((Class<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((Class<?>) type1, (GenericArrayType) type2); return isAssignableFrom((ParameterizedType) type1, (Class<?>) type2); return isAssignableFrom((ParameterizedType) type1, (ParameterizedType) type2); return isAssignableFrom((ParameterizedType) type1, (TypeVariable<?>) type2); return isAssignableFrom((ParameterizedType) type1, (GenericArrayType) type2); return isAssignableFrom((TypeVariable<?>) type1, (Class<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (ParameterizedType) type2); return isAssignableFrom((TypeVariable<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (GenericArrayType) type2); return isAssignableFrom((GenericArrayType) type1, (Class<?>) type2); return isAssignableFrom((GenericArrayType) type1, (ParameterizedType) type2); return isAssignableFrom((GenericArrayType) type1, (TypeVariable<?>) type2);
private static boolean isAssignableFrom(GenericArrayType type1, GenericArrayType type2) { return isAssignableFrom(type1.getGenericComponentType(), type2.getGenericComponentType()); } }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be equal if (!Reflections.getRawType(type1).equals(Reflections.getRawType(type2))) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < types1.length; i++) { if (!isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
return isAssignableFrom((Class<?>) type1, (Class<?>) type2); return isAssignableFrom((Class<?>) type1, (ParameterizedType) type2); return isAssignableFrom((Class<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((Class<?>) type1, (GenericArrayType) type2); return isAssignableFrom((ParameterizedType) type1, (Class<?>) type2); return isAssignableFrom((ParameterizedType) type1, (ParameterizedType) type2); return isAssignableFrom((ParameterizedType) type1, (TypeVariable<?>) type2); return isAssignableFrom((ParameterizedType) type1, (GenericArrayType) type2); return isAssignableFrom((TypeVariable<?>) type1, (Class<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (ParameterizedType) type2); return isAssignableFrom((TypeVariable<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (GenericArrayType) type2); return isAssignableFrom((GenericArrayType) type1, (Class<?>) type2); return isAssignableFrom((GenericArrayType) type1, (ParameterizedType) type2); return isAssignableFrom((GenericArrayType) type1, (TypeVariable<?>) type2);
private static boolean isAssignableFrom(GenericArrayType type1, GenericArrayType type2) { return isAssignableFrom(type1.getGenericComponentType(), type2.getGenericComponentType()); } }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be equal if (!Reflections.getRawType(type1).equals(Reflections.getRawType(type2))) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < types1.length; i++) { if (!isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
return isAssignableFrom((Class<?>) type1, (Class<?>) type2); return isAssignableFrom((Class<?>) type1, (ParameterizedType) type2); return isAssignableFrom((Class<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((Class<?>) type1, (GenericArrayType) type2); return isAssignableFrom((ParameterizedType) type1, (Class<?>) type2); return isAssignableFrom((ParameterizedType) type1, (ParameterizedType) type2); return isAssignableFrom((ParameterizedType) type1, (TypeVariable<?>) type2); return isAssignableFrom((ParameterizedType) type1, (GenericArrayType) type2); return isAssignableFrom((TypeVariable<?>) type1, (Class<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (ParameterizedType) type2); return isAssignableFrom((TypeVariable<?>) type1, (TypeVariable<?>) type2); return isAssignableFrom((TypeVariable<?>) type1, (GenericArrayType) type2); return isAssignableFrom((GenericArrayType) type1, (Class<?>) type2); return isAssignableFrom((GenericArrayType) type1, (ParameterizedType) type2); return isAssignableFrom((GenericArrayType) type1, (TypeVariable<?>) type2);
private static boolean isAssignableFrom(GenericArrayType type1, GenericArrayType type2) { return isAssignableFrom(type1.getGenericComponentType(), type2.getGenericComponentType()); } }
private static boolean matches(ParameterizedType type1, ParameterizedType type2) { final Class<?> rawType1 = Reflections.getRawType(type1); final Class<?> rawType2 = Reflections.getRawType(type2); if (!rawType1.equals(rawType2)) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < type1.getActualTypeArguments().length; i++) { // Generics are invariant if (!InvariantTypes.isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be equal if (!Reflections.getRawType(type1).equals(Reflections.getRawType(type2))) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < types1.length; i++) { if (!isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }
private static boolean matches(ParameterizedType type1, ParameterizedType type2) { final Class<?> rawType1 = Reflections.getRawType(type1); final Class<?> rawType2 = Reflections.getRawType(type2); if (!rawType1.equals(rawType2)) { return false; } final Type[] types1 = type1.getActualTypeArguments(); final Type[] types2 = type2.getActualTypeArguments(); if (types1.length != types2.length) { throw ReflectionLogger.LOG.invalidTypeArgumentCombination(type1, type2); } for (int i = 0; i < type1.getActualTypeArguments().length; i++) { // Generics are invariant if (!InvariantTypes.isAssignableFrom(types1[i], types2[i])) { return false; } } return true; }