@SuppressWarnings("unchecked") @Override public JsonPrimitive deepClone() { // all supported value types are immutable so no need to clone those. return new JsonPrimitive(value,type); }
/** * @param value a string * @return a JsonPrimitive with the value */ public static @Nonnull JsonPrimitive primitive(String value) { return new JsonPrimitive(value); }
/** * @param value a {@link Number} instance * @return a JsonPrimitive with the value */ public static @Nonnull JsonPrimitive primitive(Number value) { return new JsonPrimitive(value); }
/** * @param value a boolean * @return a JsonPrimitive with the value */ public static @Nonnull JsonPrimitive primitive(boolean value) { return new JsonPrimitive(value); }
/** * @param value any object that the JsonPrimitive constructor would accept. If it is a JsonPrimitive, the immutable value is returned. * @return a JsonPrimitive with the value */ public static @Nonnull JsonPrimitive primitive(final Object value) { if(value instanceof JsonPrimitive) { return (JsonPrimitive) value; } return new JsonPrimitive(value); }
public boolean primitive(final Object object) { JsonPrimitive primitive; primitive = new JsonPrimitive(object); if (isObject) { stack.add(primitive); } else { JsonElement peekLast = stack.peekLast(); if (peekLast instanceof JsonArray) { peekLast.asArray().add(primitive); } else { stack.add(primitive); } } return true; }
switch (nodeType) { case NUMBER: return new JsonPrimitive(vn.numberValue()); case BOOLEAN: return new JsonPrimitive(vn.asBoolean()); case STRING: return new JsonPrimitive(vn.textValue()); case NULL: return nullValue();
public void shouldParseStringWhenNeeded() { JsonElement e = new JsonPrimitive("42"); // a string assertThat(e.asInt()).isEqualTo(42); assertThat(e.asFloat()).isEqualTo(42.0f); assertThat(e.asString()).isEqualTo("42"); assertThat(e.asNumber().toString()).isEqualTo("42"); } }