/** * Variant of add that adds multiple JsonElements. * * @param elements * elements */ @Override public void add(final JsonElement... elements) { for (JsonElement element : elements) { add(element); } }
public static @Nonnull JsonSet set(long[] array) { JsonSet set = new JsonSet(); for(long e: array) { set.add(e); } return set; }
public static @Nonnull JsonSet set(float[] array) { JsonSet set = new JsonSet(); for(float e: array) { set.add(e); } return set; }
@Override public void add(final JsonBuilder... elements) { for (JsonBuilder element : elements) { JsonObject object = element.get(); add(object); } }
public static @Nonnull JsonSet set(JsonDataObject... elements) { JsonSet jjArray = new JsonSet(); jjArray.add(elements); return jjArray; }
public static @Nonnull JsonSet set(int[] array) { JsonSet set = new JsonSet(); for(int e: array) { set.add(e); } return set; }
public static @Nonnull JsonSet set(double[] array) { JsonSet set = new JsonSet(); for(double e: array) { set.add(e); } return set; }
/** * Allows you to add incomplete object builders without calling get() * @param elements json builders * @return json array with the builder objects */ public static @Nonnull JsonSet set(JsonBuilder... elements) { JsonSet jjArray = new JsonSet(); for (JsonBuilder b : elements) { jjArray.add(b); } return jjArray; }
/** * @param elements strings * @return json array with all the elements added as JsonPrimitive */ public static @Nonnull JsonSet set(String... elements) { JsonSet jjSet = new JsonSet(); for (String s : elements) { jjSet.add(primitive(s)); } return jjSet; }
public static @Nonnull <T> JsonSet set(@SuppressWarnings("unchecked") T... array) { JsonSet set = new JsonSet(); for(T e: array) { set.add(fromObject(e)); } return set; }
@SuppressWarnings("rawtypes") public JsonSet(Collection existing) { super(); for (Object o : existing) { JsonElement fromObject = fromObject(o); if (!contains(fromObject)) { add(fromObject); } } }
public void shouldReplaceElementAfterSettingStrategy() { JsonObject object1 = object(field("id",1), field("value", "foo")); JsonObject object2 = object(field("id",1), field("value", "bar")); JsonSet set = set(); set = set.withIdStrategy("id"); set.add(object1); set.add(object2); assertThat(set.size(), is(1)); assertThat(set.get(0).asObject().getString("value"), is("bar")); }
public void setWithIdStrategyShouldContain() { JsonSet set = set(); set.withIdStrategy("id"); set.add(object(field("id","1"),field("name","foo"))); assertThat(set.contains(object(field("id","1"),field("name","bar")))).isTrue(); }
public void shouldUseIdStrategy() { JsonObject object1 = object(field("id",1), field("value", "foo")); JsonObject object2 = object(field("id",2), field("value", "bar")); JsonObject object3 = object(field("id",1), field("value", "bar")); JsonSet set = set(); set = set.withIdStrategy("id"); set.add(object1, object2, object3); assertThat(set.size(), is(2)); }
public void shouldModifyNotReplaceExistingArrayWithIdStrategy() { JsonObject o = object(field("arr", array( object(field("id","1"),field("name","foo")), object(field("id","2"),field("name","bar")) ))); JsonSet set = o.getOrCreateSet("arr").withIdStrategy("id"); set.add(object(field("id","3"),field("name","foobar"))); assertThat(o.getOrCreateArray("arr").size()).isEqualTo(3); }
public void shouldRemoveWithIdStrategy() { JsonSet set = set(); set.withIdStrategy("id"); JsonObject obj = object(field("id","1"),field("name","foo")); set.add(obj); set.remove(obj.clone()); assertThat(set).hasSize(0); }
public void shouldUseIdStrategyWithVarArgs() { JsonSet set = set(); set = set.withIdStrategy("id", "type"); set.add( object(field("id",1), field("type", "a"), field("value", "foo")), object(field("id",1), field("type", "a"), field("value", "bar")), object(field("id",1), field("type", "b"), field("value", "oldbarbar")), object(field("id",1), field("value", "bars"), field("type", "b")) ); assertThat(set.size(), is(2)); assertThat(set.toString()).contains("bars").doesNotContain("oldbarbar"); // should replace }