From d1c4cd526845aad56c5b0a3e20454638bbc7fecc Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 29 Jun 2015 10:48:34 +1200 Subject: Merge commands implmentation (fix #1271) --- src/org/traccar/http/EnumFactory.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/org/traccar/http/EnumFactory.java (limited to 'src/org/traccar/http/EnumFactory.java') diff --git a/src/org/traccar/http/EnumFactory.java b/src/org/traccar/http/EnumFactory.java new file mode 100644 index 000000000..6e9971f71 --- /dev/null +++ b/src/org/traccar/http/EnumFactory.java @@ -0,0 +1,20 @@ +package org.traccar.http; + +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(); + } +} -- cgit v1.2.3