public static @Nonnull JsonArray array(int[] array) { JsonArray jjArray = new JsonArray(); for(int e: array) { jjArray.add(e); } return jjArray; }
public static @Nonnull JsonArray array(long[] array) { JsonArray jjArray = new JsonArray(); for(long e: array) { jjArray.add(e); } return jjArray; }
public static @Nonnull JsonArray array(double[] array) { JsonArray jjArray = new JsonArray(); for(double e: array) { jjArray.add(e); } return jjArray; }
public static @Nonnull JsonArray array(JsonDataObject... elements) { JsonArray jjArray = new JsonArray(); jjArray.add(elements); return jjArray; }
/** * Variant of add that adds one or more booleans. * @param booleans values */ public void add(@Nonnull Boolean...booleans) { for (Boolean b : booleans) { add(primitive(b)); } }
@SafeVarargs public static @Nonnull <T> JsonArray array(@Nonnull T... array) { JsonArray jjArray = new JsonArray(); for(T e: array) { jjArray.add(fromObject(e)); } return jjArray; }
@Override public @Nonnull JsonArray immutableClone() { JsonArray array = new JsonArray(); for (JsonElement jsonElement : this) { JsonElement e = jsonElement.immutableClone(); array.add(e); } array.immutable=true; return array; }
private static JsonArray convert(Object[] os) { JsonArray a = array(); for(Object o:os) { a.add(fromObject(o)); } return a; }
private static JsonArray convert(Set<?> v) { JsonArray a = array(); for(Object o:v) { a.add(fromObject(o)); } return a; }
public boolean endObject() { if (stack.size() > 1 && stack.get(stack.size() - 2).isArray()) { JsonElement object = stack.pollLast(); stack.peekLast().asArray().add(object); } return true; }
public boolean endArray() { if (stack.size() > 1 && stack.get(stack.size() - 2).isArray()) { JsonElement value = stack.pollLast(); stack.peekLast().asArray().add(value); } return true; } }
/** * Takes a two dimensional linestring and creates a three dimensional polygon from it. Also closes the polygon if needed. * @param lineString 2d JsonArray * @return 3d double array with the polygon */ public static @Nonnull JsonArray lineStringToPolygon(@Nonnull JsonArray lineString) { if(!lineString.first().equals(lineString.last())) { JsonElement e = lineString.first().deepClone(); lineString.add(e); } return array(lineString); }
public void shouldAddNumbers() { JsonArray arr = new JsonArray(); arr.add(1,2,3,4); assertThat(arr, is(array(1,2,3,4))); }
@Test(expectedExceptions=IllegalStateException.class) public void shouldNotAllowMutations() { JsonArray list = array(1).immutableClone(); list.add(2); }
public void shouldAddJsonBuilderObjects() { JsonBuilder builder = object().put("foo", "bar"); JsonArray array1 = array(builder,builder); JsonArray array2 = array(); array2.add(builder,builder); assertThat(array1, is(array2)); assertThat(array1.toString(),is("[{\"foo\":\"bar\"},{\"foo\":\"bar\"}]")); }
public void shouldIterateOverArrays() { JsonArray twodarray = array(); twodarray.add(array(42,42)); for(JsonArray arr: twodarray.arrays()) { assertThat(arr.get(0).asInt(), is(42)); } }
public void shouldConvertFieldToSet() { JsonObject object = object(field("f", array(1,1,1,1,1))); assertThat(object.getOrCreateArray("f").size(), is(5)); assertThat(object.getOrCreateSet("f").size(), is(1)); assertThat(object.getArray("f").size(), is(1)); object.getArray("f").add(1); assertThat(object.getArray("f").size(), is(1)); }
public void shouldAddJsonElements() { JsonArray arr = new JsonArray(); arr.add(primitive(1),object(field("1", "2")),array(42)); assertThat(arr.size(), is(3)); assertThat(arr.get(0).isPrimitive(), is(true)); assertThat(arr.get(1).isObject(), is(true)); assertThat(arr.get(2).isArray(), is(true)); }
@Test(expectedExceptions=IllegalStateException.class) public void shouldNotAllowMutationsOnArrayInObject() { JsonObject object = object(field("f", array(1,1,1,1,1))); JsonObject clone = object.immutableClone(); assertThat(clone).isEqualTo(object); clone.getArray("f").add(1); }