package lol.pyr.znpcsplus.entity; public class EnumPropertySerializer<T extends Enum<T>> implements PropertySerializer<T> { private final Class<T> enumClass; public EnumPropertySerializer(Class<T> enumClass) { this.enumClass = enumClass; } @Override public String serialize(T property) { return property.name(); } @Override public T deserialize(String property) { return Enum.valueOf(enumClass, property.toUpperCase()); } @Override public Class<T> getTypeClass() { return enumClass; } }