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.Arrays;
import java.util.Objects; import java.util.Objects;
//TODO improve this
public class OldEnum { public class OldEnum {
private static final 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) { public static <T> T valueOf(Class<? extends T> c, String name) {
try { return valueOf(c, name, name.replace(".", "_"));
return (T) c.getDeclaredField(name).get(null); }
} catch (Throwable e) {
return null; 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) { public static String name(Object o) {