public static Class<?> getResolvedFieldType(Class<?> clazz, String fieldName) { return getResolvedFieldType(clazz, getField(clazz, fieldName)); }
private Class<? extends Serializable> resolvePropertyType(Class<?> baseClazz, String property) { Class<?> clazz = baseClazz; String[] propertyParts = property.split("\\."); for (int i = 0; i < propertyParts.length; i++) { Method getter = ReflectionUtils.getGetter(clazz, propertyParts[i]); if (getter == null) { Field field = ReflectionUtils.getField(clazz, propertyParts[i]); if (field == null) { throw new IllegalArgumentException("Couldn't find property '" + propertyParts[i] + "' on type '" + clazz + "' while resolving path '" + property + "' on type '" + baseClazz + "'"); } Class<?>[] typeArguments = ReflectionUtils.getResolvedFieldTypeArguments(clazz, field); if (typeArguments.length == 0) { clazz = ReflectionUtils.getResolvedFieldType(clazz, field); } else { clazz = typeArguments[typeArguments.length - 1]; } } else { Class<?>[] typeArguments = ReflectionUtils.getResolvedMethodReturnTypeArguments(clazz, getter); if (typeArguments.length == 0) { clazz = ReflectionUtils.getResolvedMethodReturnType(clazz, getter); } else { clazz = typeArguments[typeArguments.length - 1]; } } } return (Class<? extends Serializable>) clazz; }
private Class<? extends Serializable> resolvePropertyType(Class<?> baseClazz, String property) { Class<?> clazz = baseClazz; String[] propertyParts = property.split("\\."); for (int i = 0; i < propertyParts.length; i++) { Method getter = ReflectionUtils.getGetter(clazz, propertyParts[i]); if (getter == null) { Field field = ReflectionUtils.getField(clazz, propertyParts[i]); if (field == null) { throw new IllegalArgumentException("Couldn't find property '" + propertyParts[i] + "' on type '" + clazz + "' while resolving path '" + property + "' on type '" + baseClazz + "'"); } Class<?>[] typeArguments = ReflectionUtils.getResolvedFieldTypeArguments(clazz, field); if (typeArguments.length == 0) { clazz = ReflectionUtils.getResolvedFieldType(clazz, field); } else { clazz = typeArguments[typeArguments.length - 1]; } } else { Class<?>[] typeArguments = ReflectionUtils.getResolvedMethodReturnTypeArguments(clazz, getter); if (typeArguments.length == 0) { clazz = ReflectionUtils.getResolvedMethodReturnType(clazz, getter); } else { clazz = typeArguments[typeArguments.length - 1]; } } } return (Class<? extends Serializable>) clazz; }
private Class<? extends Serializable> resolvePropertyType(Class<?> baseClazz, String property) { Class<?> clazz = baseClazz; String[] propertyParts = property.split("\\."); for (int i = 0; i < propertyParts.length; i++) { Method getter = ReflectionUtils.getGetter(clazz, propertyParts[i]); if (getter == null) { Field field = ReflectionUtils.getField(clazz, propertyParts[i]); if (field == null) { throw new IllegalArgumentException("Couldn't find property '" + propertyParts[i] + "' on type '" + clazz + "' while resolving path '" + property + "' on type '" + baseClazz + "'"); } Class<?>[] typeArguments = ReflectionUtils.getResolvedFieldTypeArguments(clazz, field); if (typeArguments.length == 0) { clazz = ReflectionUtils.getResolvedFieldType(clazz, field); } else { clazz = typeArguments[typeArguments.length - 1]; } } else { Class<?>[] typeArguments = ReflectionUtils.getResolvedMethodReturnTypeArguments(clazz, getter); if (typeArguments.length == 0) { clazz = ReflectionUtils.getResolvedMethodReturnType(clazz, getter); } else { clazz = typeArguments[typeArguments.length - 1]; } } } return (Class<? extends Serializable>) clazz; }
fieldClass = ReflectionUtils.getResolvedFieldType(resolverBaseClass, field); if (fieldClass == null) { fieldClass = resolveType(resolverBaseClass, field.getGenericType());
fieldClass = ReflectionUtils.getResolvedFieldType(resolverBaseClass, field); if (fieldClass == null) { fieldClass = resolveType(resolverBaseClass, field.getGenericType());