/** * Return a {@link Serializable} variant of {@link Field#getGenericType()}. */ @Nullable public static Type forField(Field field) { return forTypeProvider(new FieldTypeProvider(field)); }
/** * Return a {@link Serializable} variant of * {@link MethodParameter#getGenericParameterType()}. */ @Nullable public static Type forMethodParameter(MethodParameter methodParameter) { return forTypeProvider(new MethodParameterTypeProvider(methodParameter)); }
/** * Return a {@link Serializable} variant of {@link Field#getGenericType()}. */ @Nullable public static Type forField(Field field) { return forTypeProvider(new FieldTypeProvider(field)); }
/** * Return a {@link Serializable} variant of * {@link MethodParameter#getGenericParameterType()}. */ @Nullable public static Type forMethodParameter(MethodParameter methodParameter) { return forTypeProvider(new MethodParameterTypeProvider(methodParameter)); }
return forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, -1)); result[i] = forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, i));
return forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, -1)); result[i] = forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, i));
type = SerializableTypeWrapper.forTypeProvider(typeProvider);
type = SerializableTypeWrapper.forTypeProvider(typeProvider);
/** * Return a {@link Serializable} variant of {@link Class#getGenericSuperclass()}. */ @Nullable public static Type forGenericSuperclass(final Class<?> type) { return forTypeProvider(type::getGenericSuperclass); }
/** * Return a {@link Serializable} variant of {@link Class#getGenericInterfaces()}. */ public static Type[] forGenericInterfaces(final Class<?> type) { Type[] result = new Type[type.getGenericInterfaces().length]; for (int i = 0; i < result.length; i++) { final int index = i; result[i] = forTypeProvider(() -> type.getGenericInterfaces()[index]); } return result; }
/** * Return a {@link Serializable} variant of {@link Class#getTypeParameters()}. */ public static Type[] forTypeParameters(final Class<?> type) { Type[] result = new Type[type.getTypeParameters().length]; for (int i = 0; i < result.length; i++) { final int index = i; result[i] = forTypeProvider(() -> type.getTypeParameters()[index]); } return result; }
/** * Return a {@link Serializable} variant of * {@link MethodParameter#getGenericParameterType()}. */ @Nullable public static Type forMethodParameter(MethodParameter methodParameter) { return forTypeProvider(new MethodParameterTypeProvider(methodParameter)); }
/** * Return a {@link Serializable} variant of {@link Field#getGenericType()}. */ @Nullable public static Type forField(Field field) { return forTypeProvider(new FieldTypeProvider(field)); }
/** * Return a {@link Serializable} variant of * {@link MethodParameter#getGenericParameterType()}. */ @Nullable public static Type forMethodParameter(MethodParameter methodParameter) { return forTypeProvider(new MethodParameterTypeProvider(methodParameter)); }
/** * Return a {@link Serializable} variant of {@link Field#getGenericType()}. */ @Nullable public static Type forField(Field field) { return forTypeProvider(new FieldTypeProvider(field)); }
return forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, -1)); } else if (Type[].class == method.getReturnType() && args == null) { Type[] result = new Type[((Type[]) method.invoke(this.provider.getType())).length]; for (int i = 0; i < result.length; i++) { result[i] = forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, i));
return forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, -1)); result[i] = forTypeProvider(new MethodInvokeTypeProvider(this.provider, method, i));
type = SerializableTypeWrapper.forTypeProvider(typeProvider);
type = SerializableTypeWrapper.forTypeProvider(typeProvider);
type = SerializableTypeWrapper.forTypeProvider(typeProvider);