package org.traccar.web; import org.traccar.model.Factory; import javax.json.JsonObject; public class EnumFactory & Factory> { private Class commandTypeClass; private String jsonKey; public EnumFactory(Class commandTypeClass, String type) { this.commandTypeClass = commandTypeClass; jsonKey = type; } public K create(JsonObject json) { Factory factory = Enum.valueOf(commandTypeClass, json.getString(jsonKey)); return (K) factory.create(); } }