public JsonVTypeBuilder addListNumber(String string, ListNumber ln) { add(string, fromListNumber(ln)); return this; }
public JsonVTypeBuilder addListString(String string, List<String> ls) { add(string, fromListString(ls)); return this; }
public ListDouble getListDouble(String string) { JsonArray array = getJsonArray(string); return toListDouble(array); }
public List<Object> getColumnValues(String string, List<Class<?>> types) { JsonArray array = getJsonArray(string); List<Object> result = new ArrayList<>(); for (int i = 0; i < types.size(); i++) { Class<?> type = types.get(i); if (String.class.equals(type)) { result.add(toListString(array.getJsonArray(i))); } else if (double.class.equals(type)) { result.add(toListDouble(array.getJsonArray(i))); } else if (float.class.equals(type)) { result.add(toListFloat(array.getJsonArray(i))); } else if (long.class.equals(type)) { result.add(toListLong(array.getJsonArray(i))); } else if (int.class.equals(type)) { result.add(toListInt(array.getJsonArray(i))); } else if (short.class.equals(type)) { result.add(toListShort(array.getJsonArray(i))); } else if (byte.class.equals(type)) { result.add(toListByte(array.getJsonArray(i))); } else if (Instant.class.equals(type)) { result.add(toListTimestamp(array.getJsonArray(i))); } else { throw new IllegalArgumentException("Column type " + type + " not supported"); } } return result; }
/** * Converts the given JSON value to either a vtype, a Java time or a * ListNumber. * * @param msgValue the JSON value * @return the converted type */ public static Object readValueFromJson(JsonValue msgValue) { if (msgValue instanceof JsonObject) { return VTypeToJson.toVType((JsonObject) msgValue); } else if (msgValue instanceof JsonNumber) { return ((JsonNumber) msgValue).doubleValue(); } else if (msgValue instanceof JsonString){ return ((JsonString) msgValue).getString(); } else if (msgValue instanceof JsonArray){ JsonArray array = (JsonArray) msgValue; if (isNumericArray(array)) { return toListDouble(array); } else if (isStringArray(array)) { return toListString(array); } else { return null; } } else { return null; } }
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; }
/** * Converts the given value to a JSON representation. * * @param gen the object to create/store the JSON representation * @param name the JSON name to store the value as * @param value the value to store */ public static void writeValueToJson(JsonGenerator gen, String name, Object value) { if (value instanceof Number) { gen.write(name, ((Number) value).doubleValue()); } else if (value instanceof String) { gen.write(name, (String) value); } else if (value instanceof List) { @SuppressWarnings("unchecked") List<String> strings = (List<String>) value; gen.write(name, fromListString(strings).build()); } else if (value instanceof ListNumber) { gen.write(name, fromListNumber((ListNumber) value).build()); } else if (value instanceof VType) { gen.write(name, VTypeToJson.toJson((VType) value)); } else { throw new UnsupportedOperationException("Value " + value.getClass().getSimpleName() + " is not supported"); } }
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); }