@@ -174,8 +174,8 @@ private ResolvableType(
174
174
* Avoids all {@code instanceof} checks in order to create a straight {@link Class} wrapper.
175
175
* @since 4.2
176
176
*/
177
- private ResolvableType (Class <?> sourceClass ) {
178
- this .resolved = (sourceClass != null ? sourceClass : Object .class );
177
+ private ResolvableType (Class <?> clazz ) {
178
+ this .resolved = (clazz != null ? clazz : Object .class );
179
179
this .type = this .resolved ;
180
180
this .typeProvider = null ;
181
181
this .variableResolver = null ;
@@ -408,7 +408,7 @@ public ResolvableType asMap() {
408
408
* {@link #getSuperType() supertype} and {@link #getInterfaces() interface}
409
409
* hierarchies to find a match, returning {@link #NONE} if this type does not
410
410
* implement or extend the specified class.
411
- * @param type the required class type
411
+ * @param type the required type (typically narrowed)
412
412
* @return a {@link ResolvableType} representing this object as the specified
413
413
* type, or {@link #NONE} if not resolvable as that type
414
414
* @see #asCollection()
@@ -923,30 +923,30 @@ public String toString() {
923
923
* Return a {@link ResolvableType} for the specified {@link Class},
924
924
* using the full generic type information for assignability checks.
925
925
* For example: {@code ResolvableType.forClass(MyArrayList.class)}.
926
- * @param sourceClass the source class ({@code null} is semantically
926
+ * @param clazz the class to introspect ({@code null} is semantically
927
927
* equivalent to {@code Object.class} for typical use cases here}
928
928
* @return a {@link ResolvableType} for the specified class
929
929
* @see #forClass(Class, Class)
930
930
* @see #forClassWithGenerics(Class, Class...)
931
931
*/
932
- public static ResolvableType forClass (Class <?> sourceClass ) {
933
- return new ResolvableType (sourceClass );
932
+ public static ResolvableType forClass (Class <?> clazz ) {
933
+ return new ResolvableType (clazz );
934
934
}
935
935
936
936
/**
937
937
* Return a {@link ResolvableType} for the specified {@link Class}, doing
938
938
* assignability checks against the raw class only (analogous to
939
939
* {@link Class#isAssignableFrom}, which this serves as a wrapper for.
940
940
* For example: {@code ResolvableType.forRawClass(List.class)}.
941
- * @param sourceClass the source class ({@code null} is semantically
941
+ * @param clazz the class to introspect ({@code null} is semantically
942
942
* equivalent to {@code Object.class} for typical use cases here}
943
943
* @return a {@link ResolvableType} for the specified class
944
944
* @since 4.2
945
945
* @see #forClass(Class)
946
946
* @see #getRawClass()
947
947
*/
948
- public static ResolvableType forRawClass (Class <?> sourceClass ) {
949
- return new ResolvableType (sourceClass ) {
948
+ public static ResolvableType forRawClass (Class <?> clazz ) {
949
+ return new ResolvableType (clazz ) {
950
950
@ Override
951
951
public boolean isAssignableFrom (Class <?> other ) {
952
952
return ClassUtils .isAssignable (getRawClass (), other );
@@ -960,50 +960,50 @@ public boolean isAssignableFrom(ResolvableType other) {
960
960
}
961
961
962
962
/**
963
- * Return a {@link ResolvableType} for the specified {@link Class}
964
- * with a given implementation.
963
+ * Return a {@link ResolvableType} for the specified base type
964
+ * (interface or base class) with a given implementation class .
965
965
* For example: {@code ResolvableType.forClass(List.class, MyArrayList.class)}.
966
- * @param sourceClass the source class (must not be {@code null}
966
+ * @param baseType the base type (must not be {@code null})
967
967
* @param implementationClass the implementation class
968
- * @return a {@link ResolvableType} for the specified class backed by the given
969
- * implementation class
968
+ * @return a {@link ResolvableType} for the specified base type backed by the
969
+ * given implementation class
970
970
* @see #forClass(Class)
971
971
* @see #forClassWithGenerics(Class, Class...)
972
972
*/
973
- public static ResolvableType forClass (Class <?> sourceClass , Class <?> implementationClass ) {
974
- Assert .notNull (sourceClass , "Source class must not be null" );
975
- ResolvableType asType = forType (implementationClass ).as (sourceClass );
976
- return (asType == NONE ? forType (sourceClass ) : asType );
973
+ public static ResolvableType forClass (Class <?> baseType , Class <?> implementationClass ) {
974
+ Assert .notNull (baseType , "Base type must not be null" );
975
+ ResolvableType asType = forType (implementationClass ).as (baseType );
976
+ return (asType == NONE ? forType (baseType ) : asType );
977
977
}
978
978
979
979
/**
980
980
* Return a {@link ResolvableType} for the specified {@link Class} with pre-declared generics.
981
- * @param sourceClass the source class
981
+ * @param clazz the class (or interface) to introspect
982
982
* @param generics the generics of the class
983
983
* @return a {@link ResolvableType} for the specific class and generics
984
984
* @see #forClassWithGenerics(Class, ResolvableType...)
985
985
*/
986
- public static ResolvableType forClassWithGenerics (Class <?> sourceClass , Class <?>... generics ) {
987
- Assert .notNull (sourceClass , "Source class must not be null" );
988
- Assert .notNull (generics , "Generics must not be null" );
986
+ public static ResolvableType forClassWithGenerics (Class <?> clazz , Class <?>... generics ) {
987
+ Assert .notNull (clazz , "Class must not be null" );
988
+ Assert .notNull (generics , "Generics array must not be null" );
989
989
ResolvableType [] resolvableGenerics = new ResolvableType [generics .length ];
990
990
for (int i = 0 ; i < generics .length ; i ++) {
991
991
resolvableGenerics [i ] = forClass (generics [i ]);
992
992
}
993
- return forClassWithGenerics (sourceClass , resolvableGenerics );
993
+ return forClassWithGenerics (clazz , resolvableGenerics );
994
994
}
995
995
996
996
/**
997
997
* Return a {@link ResolvableType} for the specified {@link Class} with pre-declared generics.
998
- * @param sourceClass the source class
998
+ * @param clazz the class (or interface) to introspect
999
999
* @param generics the generics of the class
1000
1000
* @return a {@link ResolvableType} for the specific class and generics
1001
1001
* @see #forClassWithGenerics(Class, Class...)
1002
1002
*/
1003
- public static ResolvableType forClassWithGenerics (Class <?> sourceClass , ResolvableType ... generics ) {
1004
- Assert .notNull (sourceClass , "Source class must not be null" );
1005
- Assert .notNull (generics , "Generics must not be null" );
1006
- TypeVariable <?>[] variables = sourceClass .getTypeParameters ();
1003
+ public static ResolvableType forClassWithGenerics (Class <?> clazz , ResolvableType ... generics ) {
1004
+ Assert .notNull (clazz , "Class must not be null" );
1005
+ Assert .notNull (generics , "Generics array must not be null" );
1006
+ TypeVariable <?>[] variables = clazz .getTypeParameters ();
1007
1007
Assert .isTrue (variables .length == generics .length , "Mismatched number of generics specified" );
1008
1008
1009
1009
Type [] arguments = new Type [generics .length ];
@@ -1013,7 +1013,7 @@ public static ResolvableType forClassWithGenerics(Class<?> sourceClass, Resolvab
1013
1013
arguments [i ] = (argument != null ? argument : variables [i ]);
1014
1014
}
1015
1015
1016
- ParameterizedType syntheticType = new SyntheticParameterizedType (sourceClass , arguments );
1016
+ ParameterizedType syntheticType = new SyntheticParameterizedType (clazz , arguments );
1017
1017
return forType (syntheticType , new TypeVariablesVariableResolver (variables , generics ));
1018
1018
}
1019
1019
@@ -1077,8 +1077,8 @@ public static ResolvableType forField(Field field, Class<?> implementationClass)
1077
1077
*/
1078
1078
public static ResolvableType forField (Field field , ResolvableType implementationType ) {
1079
1079
Assert .notNull (field , "Field must not be null" );
1080
- implementationType = (implementationType == null ? NONE : implementationType );
1081
- ResolvableType owner = implementationType .as (field .getDeclaringClass ());
1080
+ ResolvableType owner = (implementationType != null ? implementationType : NONE );
1081
+ owner = owner .as (field .getDeclaringClass ());
1082
1082
return forType (null , new FieldTypeProvider (field ), owner .asVariableResolver ());
1083
1083
}
1084
1084
0 commit comments