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; }
static JsonObject toJson(VEnum vEnum) { return new JsonVTypeBuilder() .addType(vEnum) .add("value", vEnum.getIndex()) .addAlarm(vEnum) .addTime(vEnum) .addEnum(vEnum) .build(); }
public JsonVTypeBuilder addEnum(org.diirt.vtype.Enum en) { return add("enum", new JsonVTypeBuilder() .addListString("labels", en.getLabels())); }
static JsonObject toJson(VBoolean vBoolean) { return new JsonVTypeBuilder() .addType(vBoolean) .add("value", vBoolean.getValue()) .addAlarm(vBoolean) .addTime(vBoolean) .build(); }
public JsonVTypeBuilder addListNumber(String string, ListNumber ln) { add(string, fromListNumber(ln)); return this; }
static JsonObject toJson(VString vString) { return new JsonVTypeBuilder() .addType(vString) .add("value", vString.getValue()) .addAlarm(vString) .addTime(vString) .build(); }
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 addListString(String string, List<String> ls) { add(string, fromListString(ls)); return this; }
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; }
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; }