fix not reading enum values correctly

This commit is contained in:
Julian Krings 2025-08-01 13:06:25 +02:00
parent 58b1bd115f
commit a5bca0a9bb
No known key found for this signature in database
GPG Key ID: 208C6E08C3B718D2

View File

@ -11,6 +11,7 @@ import java.lang.reflect.Modifier;
import java.util.Arrays;
import java.util.Objects;
//TODO improve this
public class OldEnum {
private static final Class<?> oldEnum;
@ -25,11 +26,16 @@ public class OldEnum {
}
public static <T> T valueOf(Class<? extends T> c, String name) {
try {
return (T) c.getDeclaredField(name).get(null);
} catch (Throwable e) {
return null;
return valueOf(c, name, name.replace(".", "_"));
}
public static <T> T valueOf(Class<? extends T> c, String... names) {
for (final String name : names) {
try {
return (T) c.getDeclaredField(name).get(null);
} catch (Throwable ignored) {}
}
return null;
}
public static String name(Object o) {