@@ -1068,23 +1068,13 @@ public JavaType uncheckedSimpleType(Class<?> cls) {
1068
1068
* type {@code List<Set<Integer>>}, you could
1069
1069
* call
1070
1070
*<pre>
1071
- * JavaType inner = TypeFactory.constructParametricType(Set.class, Set.class, Integer.class);
1072
- * return TypeFactory.constructParametricType(ArrayList.class, List.class, inner);
1071
+ * JavaType inner = TypeFactory.constructParametricType(Set.class, Integer.class);
1072
+ * return TypeFactory.constructParametricType(List.class, inner);
1073
1073
*</pre>
1074
1074
*<p>
1075
- * The reason for first two arguments to be separate is that parameterization may
1076
- * apply to a super-type. For example, if generic type was instead to be
1077
- * constructed for {@code ArrayList<Integer>}, the usual call would be:
1078
- *<pre>
1079
- * TypeFactory.constructParametricType(ArrayList.class, List.class, Integer.class);
1080
- *</pre>
1081
- * since parameterization is applied to {@link java.util.List}.
1082
- * In most cases distinction does not matter, but there are types where it does;
1083
- * one such example is parameterization of types that implement {@link java.util.Iterator}.
1084
- *<p>
1085
- * NOTE: type modifiers are NOT called on constructed type.
1075
+ * NOTE: since 2.11.2 {@link TypeModifier}s ARE called on result (fix for [databind#2796])
1086
1076
*
1087
- * @param parametrized Actual full type
1077
+ * @param parametrized Type-erased type to parameterize
1088
1078
* @param parameterClasses Type parameters to apply
1089
1079
*
1090
1080
* @since 2.5 NOTE: was briefly deprecated for 2.6
@@ -1103,20 +1093,10 @@ public JavaType constructParametricType(Class<?> parametrized, Class<?>... param
1103
1093
* represents a parameterized type. For example, to represent
1104
1094
* type {@code List<Set<Integer>>}, you could
1105
1095
*<pre>
1106
- * JavaType inner = TypeFactory.constructParametricType(Set.class, Set.class, Integer.class);
1107
- * return TypeFactory.constructParametricType(ArrayList.class, List.class, inner);
1096
+ * JavaType inner = TypeFactory.constructParametricType(Set.class, Integer.class);
1097
+ * return TypeFactory.constructParametricType(List.class, inner);
1108
1098
*</pre>
1109
1099
*<p>
1110
- * The reason for first two arguments to be separate is that parameterization may
1111
- * apply to a super-type. For example, if generic type was instead to be
1112
- * constructed for {@code ArrayList<Integer>}, the usual call would be:
1113
- *<pre>
1114
- * TypeFactory.constructParametricType(ArrayList.class, List.class, Integer.class);
1115
- *</pre>
1116
- * since parameterization is applied to {@link java.util.List}.
1117
- * In most cases distinction does not matter, but there are types where it does;
1118
- * one such example is parameterization of types that implement {@link java.util.Iterator}.
1119
- *<p>
1120
1100
* NOTE: since 2.11.2 {@link TypeModifier}s ARE called on result (fix for [databind#2796])
1121
1101
*
1122
1102
* @param rawType Actual type-erased type
@@ -1134,8 +1114,7 @@ public JavaType constructParametricType(Class<?> rawType, JavaType... parameterT
1134
1114
* represents a parameterized type. The type's parameters are
1135
1115
* specified as an instance of {@link TypeBindings}. This
1136
1116
* is useful if you already have the type's parameters such
1137
- * as those found on {@link JavaType}. For example, you could
1138
- * call
1117
+ * as those found on {@link JavaType}. For example, you could call
1139
1118
* <pre>
1140
1119
* return TypeFactory.constructParametricType(ArrayList.class, javaType.getBindings());
1141
1120
* </pre>
0 commit comments