ZNPCsPlus/plugin/src/main/java/lol/pyr/znpcsplus/entity/EnumPropertySerializer.java

26 lines
573 B
Java
Raw Normal View History

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;
}
}