public String[] asStringArray() { String[] result = new String[size()]; int i=0; for(JsonElement e: this) { result[i++] = e.asPrimitive().asString(); } return result; }
public int[] asIntArray() { int[] result = new int[size()]; int i=0; for(JsonElement e: this) { result[i++] = e.asPrimitive().asInt(); } return result; }
public double[] asDoubleArray() { double[] result = new double[size()]; int i=0; for(JsonElement e: this) { result[i++] = e.asPrimitive().asDouble(); } return result; }
@Override public JsonObject immutableClone() { JsonObject object = createNew(); Set<java.util.Map.Entry<String, JsonElement>> es = entrySet(); for (Entry<String, JsonElement> entry : es) { JsonElement e = entry.getValue().immutableClone(); object.put(entry.getKey(), e); } object.simpleMap.makeImmutable(); return object; }
@DataProvider public Object[][] objectConstructors() { return new Supplier[][]{ {() -> new JsonObject()}, {() -> new MapBasedJsonObject()}, {() -> new SimpleIntMapJsonObject()} }; }
default Optional<JsonObject> maybeGetObject(String...labels) { return getJsonObject().maybeGet(labels).map(e -> e.asObject()); } }
default JsonElement remove(String key) { verifyMutable(); return getJsonObject().remove(key); }
default JsonElement get(final String... labels) { return getJsonObject().get(labels); }
/** * Changes the strategy on the current set. * @param field id field * @return the current set. */ public JsonSet withIdStrategy(String... field) { return withIdStrategy(new FieldIdStrategy(field)); }
default JsonObject getOrCreateObject(final String... labels) { return getJsonObject().getOrCreateObject(labels); } @JsonIgnore
default void putAll(Map<? extends String, ? extends JsonElement> m) { verifyMutable(); getJsonObject().putAll(m); }
default Integer getInt(final String... labels) { return getJsonObject().getInt(labels); }
default Boolean getBoolean(final String... labels) { return getJsonObject().getBoolean(labels); }
default Entry<String, JsonElement> first() { return getJsonObject().first(); }
default JsonSet getOrCreateSet(final String... labels) { return getJsonObject().getOrCreateSet(labels); }
default void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { getJsonObject().readObject(in); }
default boolean containsKey(String key) { return getJsonObject().containsKey(key); }
default Entry<String, JsonElement> get(int index) { return getJsonObject().get(index); }
default JsonElement get(Object key) { return getJsonObject().get(key); }