@@ -41,6 +41,34 @@ public static EnumValues construct(SerializationConfig config, Class<Enum<?>> en
41
41
return constructFromName (config , enumClass );
42
42
}
43
43
44
+ /**
45
+ * @deprecated Since 2.15
46
+ */
47
+ @ Deprecated
48
+ public static EnumValues constructFromName (MapperConfig <?> config , Class <Enum <?>> enumClass )
49
+ {
50
+ // Enum types with per-instance sub-classes need special handling
51
+ Class <? extends Enum <?>> enumCls = ClassUtil .findEnumType (enumClass );
52
+ Enum <?>[] enumValues = enumCls .getEnumConstants ();
53
+ if (enumValues == null ) {
54
+ throw new IllegalArgumentException ("Cannot determine enum constants for Class " +enumClass .getName ());
55
+ }
56
+ String [] names = config .getAnnotationIntrospector ().findEnumValues (enumCls , enumValues , new String [enumValues .length ]);
57
+ SerializableString [] textual = new SerializableString [enumValues .length ];
58
+ for (int i = 0 , len = enumValues .length ; i < len ; ++i ) {
59
+ Enum <?> en = enumValues [i ];
60
+ String name = names [i ];
61
+ if (name == null ) {
62
+ name = en .name ();
63
+ }
64
+ textual [en .ordinal ()] = config .compileString (name );
65
+ }
66
+ return construct (enumClass , textual );
67
+ }
68
+
69
+ /**
70
+ * @since 2.15
71
+ */
44
72
public static EnumValues constructFromName (SerializationConfig config , Class <Enum <?>> enumClass )
45
73
{
46
74
// Enum types with per-instance sub-classes need special handling
@@ -65,6 +93,7 @@ public static EnumValues constructFromName(SerializationConfig config, Class<Enu
65
93
return construct (enumClass , textual );
66
94
}
67
95
96
+
68
97
public static EnumValues constructFromToString (MapperConfig <?> config , Class <Enum <?>> enumClass )
69
98
{
70
99
Class <? extends Enum <?>> cls = ClassUtil .findEnumType (enumClass );
0 commit comments