static VNumberArray toVNumberArray(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); ListNumber value; switch(mapper.getTypeName()) { case "VDoubleArray": value = mapper.getListDouble("value"); break; case "VFloatArray": value = mapper.getListFloat("value"); break; case "VLongArray": value = mapper.getListLong("value"); break; case "VIntArray": value = mapper.getListInt("value"); break; case "VShortArray": value = mapper.getListShort("value"); break; case "VByteArray": value = mapper.getListByte("value"); break; default: throw new UnsupportedOperationException("Not implemented yet"); } return newVNumberArray(value, mapper.getAlarm(), mapper.getTime(), mapper.getDisplay()); }
static VBoolean toVBoolean(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); return newVBoolean(mapper.getBoolean("value"), mapper.getAlarm(), mapper.getTime()); }
static VTable toVTable(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); List<Class<?>> types = mapper.getColumnTypes("columnTypes"); return newVTable(types, mapper.getListString("columnNames"), mapper.getColumnValues("columnValues", types)); }
static VEnum toVEnum(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); List<String> labels = mapper.getJsonObject("enum").getListString("labels"); return newVEnum(mapper.getInt("value"), labels, mapper.getAlarm(), mapper.getTime()); }
static VEnumArray toVEnumArray(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); return newVEnumArray(mapper.getListInt("value"), mapper.getJsonObject("enum").getListString("labels"), mapper.getAlarm(), mapper.getTime()); }
static VNumber toVNumber(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); Number value; switch(mapper.getTypeName()) { case "VDouble": value = mapper.getJsonNumber("value").doubleValue(); break; case "VFloat": value = (float) mapper.getJsonNumber("value").doubleValue(); break; case "VLong": value = (long) mapper.getJsonNumber("value").longValue(); break; case "VInt": value = (int) mapper.getJsonNumber("value").intValue(); break; case "VShort": value = (short) mapper.getJsonNumber("value").intValue(); break; case "VByte": value = (byte) mapper.getJsonNumber("value").intValue(); break; default: throw new UnsupportedOperationException("Not implemented yet"); } return newVNumber(value, mapper.getAlarm(), mapper.getTime(), mapper.getDisplay()); }
static VString toVString(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); return newVString(mapper.getString("value"), mapper.getAlarm(), mapper.getTime()); }
static VBooleanArray toVBooleanArray(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); return newVBooleanArray(mapper.getListBoolean("value"), mapper.getAlarm(), mapper.getTime()); }
static VStringArray toVStringArray(JsonObject json) { VTypeJsonMapper mapper = new VTypeJsonMapper(json); return newVStringArray(mapper.getListString("value"), mapper.getAlarm(), mapper.getTime()); }
public Time getTime() { VTypeJsonMapper time = getJsonObject("time"); if (time == null) { return null; } return ValueFactory.newTime(Instant.ofEpochSecond(time.getInt("unixSec"), time.getInt("nanoSec")), time.getInteger("userTag"), true); }
public ListDouble getListDouble(String string) { JsonArray array = getJsonArray(string); return toListDouble(array); }
public Double getNotNullDouble(String string) { if (isNull(string)) { return Double.NaN; } return getJsonNumber(string).doubleValue(); }
@Override public VTypeJsonMapper getJsonObject(String string) { return new VTypeJsonMapper(json.getJsonObject(string)); }
public ListLong getListLong(String string) { JsonArray array = getJsonArray(string); return toListLong(array); }
public ListShort getListShort(String string) { JsonArray array = getJsonArray(string); return toListShort(array); }
public List<String> getListString(String string) { JsonArray array = getJsonArray(string); return toListString(array); }
public ListFloat getListFloat(String string) { JsonArray array = getJsonArray(string); return toListFloat(array); }
public ListInt getListInt(String string) { JsonArray array = getJsonArray(string); return toListInt(array); }
public ListByte getListByte(String string) { JsonArray array = getJsonArray(string); return toListByte(array); }