static JsonObject toJson(VNumber vNumber) { return new JsonVTypeBuilder() .addType(vNumber) .addObject("value", vNumber.getValue()) .addAlarm(vNumber) .addTime(vNumber) .addDisplay(vNumber) .build(); }
static JsonObject toJson(VEnumArray vEnum) { return new JsonVTypeBuilder() .addType(vEnum) .addListNumber("value", vEnum.getIndexes()) .addAlarm(vEnum) .addTime(vEnum) .addEnum(vEnum) .build(); }
static JsonObject toJson(VStringArray vStringArray) { return new JsonVTypeBuilder() .addType(vStringArray) .addListString("value", vStringArray.getData()) .addAlarm(vStringArray) .addTime(vStringArray) .build(); }
static JsonObject toJson(VTable vTable) { return new JsonVTypeBuilder() .addType(vTable) .addListString("columnNames", VTableFactory.columnNames(vTable)) .addListColumnType("columnTypes", VTableFactory.columnTypes(vTable)) .addListColumnValues("columnValues", vTable) .build(); } }
public JsonVTypeBuilder addEnum(org.diirt.vtype.Enum en) { return add("enum", new JsonVTypeBuilder() .addListString("labels", en.getLabels())); }
public JsonVTypeBuilder addObject(String string, Object o) { if (o == null) { return this; } if (o instanceof Double || o instanceof Float) { add(string, ((Number) o).doubleValue()); } else if (o instanceof Byte || o instanceof Short || o instanceof Integer) { add(string, ((Number) o).intValue()); } else if (o instanceof Long) { add(string, ((Number) o).longValue()); } else if (o instanceof ListNumber) { addListNumber(string, (ListNumber) o); } else if (o instanceof ListBoolean) { addListBoolean(string, (ListBoolean) o); } else { throw new UnsupportedOperationException("Class " + o.getClass() + " not supported"); } return this; }
public JsonVTypeBuilder addTime(Time time) { return add("time", new JsonVTypeBuilder() .add("unixSec", time.getTimestamp().getEpochSecond()) .add("nanoSec", time.getTimestamp().getNano()) .addNullableObject("userTag", time.getTimeUserTag())); }
public JsonVTypeBuilder addType(VType vType) { Class<?> clazz = ValueUtil.typeOf(vType); return add("type", new JsonVTypeBuilder() .add("name", clazz.getSimpleName()) .add("version", 1)); } }
public JsonVTypeBuilder addListString(String string, List<String> ls) { add(string, fromListString(ls)); return this; }
public JsonVTypeBuilder addAlarm(Alarm alarm) { return add("alarm", new JsonVTypeBuilder() .add("severity", alarm.getAlarmSeverity().toString()) .add("status", alarm.getAlarmName())); }
public JsonVTypeBuilder addListNumber(String string, ListNumber ln) { add(string, fromListNumber(ln)); return this; }
public JsonVTypeBuilder addDisplay(Display display) { return add("display", new JsonVTypeBuilder() .add("lowAlarm", display.getLowerAlarmLimit()) .add("highAlarm", display.getUpperAlarmLimit()) .add("lowDisplay", display.getLowerDisplayLimit()) .add("highDisplay", display.getUpperDisplayLimit()) .add("lowWarning", display.getLowerWarningLimit()) .add("highWarning", display.getUpperDisplayLimit()) .add("units", display.getUnits())); }
public JsonVTypeBuilder addListColumnType(String string, List<Class<?>> ls) { JsonArrayBuilder b = Json.createArrayBuilder(); for (Class<?> element : ls) { if (element.equals(String.class)) { b.add("String"); } else if (element.equals(double.class)) { b.add("double"); } else if (element.equals(float.class)) { b.add("float"); } else if (element.equals(long.class)) { b.add("long"); } else if (element.equals(int.class)) { b.add("int"); } else if (element.equals(short.class)) { b.add("short"); } else if (element.equals(byte.class)) { b.add("byte"); } else if (element.equals(Instant.class)) { b.add("Timestamp"); } else { throw new IllegalArgumentException("Column type " + element + " not supported"); } } add(string, b); return this; }
static JsonObject toJson(VNumberArray vNumberArray) { return new JsonVTypeBuilder() .addType(vNumberArray) .addObject("value", vNumberArray.getData()) .addAlarm(vNumberArray) .addTime(vNumberArray) .addDisplay(vNumberArray) .build(); }
public JsonVTypeBuilder addListBoolean(String string, ListBoolean lb) { JsonArrayBuilder b = Json.createArrayBuilder(); for (int i = 0; i < lb.size(); i++) { b.add(lb.getBoolean(i)); } add(string, b); return this; }
public JsonVTypeBuilder addListColumnValues(String string, VTable vTable) { JsonArrayBuilder b = Json.createArrayBuilder(); for (int column = 0; column < vTable.getColumnCount(); column++) { Class<?> type = vTable.getColumnType(column); if (type.equals(String.class)) { @SuppressWarnings("unchecked") List<String> listString = (List<String>) vTable.getColumnData(column); b.add(fromListString(listString)); } else if (type.equals(double.class) || type.equals(float.class) || type.equals(long.class) || type.equals(int.class) || type.equals(short.class) || type.equals(byte.class)) { b.add(fromListNumber((ListNumber) vTable.getColumnData(column))); } else if (type.equals(Instant.class)) { @SuppressWarnings("unchecked") List<Instant> listTimestamp = (List<Instant>) vTable.getColumnData(column); b.add(fromListTimestamp(listTimestamp)); } else { throw new IllegalArgumentException("Column type " + type.getSimpleName() + " not supported"); } } add(string, b); return this; }