/** * Returns a JSON number that represents the given {@code double} value. * * @param value the value to get a JSON number for. * @return a JSON number that represents the given value. */ static JsonValue of(final double value) { return JsonFactory.newValue(value); }
/** * Returns a JSON literal that represents the given {@code boolean} value. * * @param value the value to get a JSON literal for. * @return a JSON literal that represents the given boolean value. */ static JsonValue of(final boolean value) { return JsonFactory.newValue(value); }
@Override public ImmutableJsonObjectBuilder set(final CharSequence key, final int value, final Predicate<JsonField> predicate) { return set(key, JsonFactory.newValue(value), predicate); }
@Override public JsonArrayBuilder set(final int index, final String value) { requireNonNull(value, "The value to be set must not be null!"); return set(index, JsonFactory.newValue(value)); }
@Override public ImmutableJsonObjectBuilder set(final CharSequence key, final String value, final Predicate<JsonField> predicate) { return set(key, JsonFactory.newValue(value), predicate); }
@Override public ImmutableJsonObjectBuilder set(final CharSequence key, final long value, final Predicate<JsonField> predicate) { return set(key, JsonFactory.newValue(value), predicate); }
@Override public ImmutableJsonObjectBuilder set(final CharSequence key, final String value, final Predicate<JsonField> predicate) { return set(key, JsonFactory.newValue(value), predicate); }
@Override public ImmutableJsonArrayBuilder add(final int value, final int... furtherValues) { checkFurtherValues(furtherValues); values.add(JsonFactory.newValue(value)); addAll(Arrays.stream(furtherValues).mapToObj(JsonFactory::newValue)); return this; }
@Override public ImmutableJsonArray add(final int value, final int... furtherValues) { checkFurtherValues(furtherValues); return add(JsonFactory.newValue(value), Arrays.stream(furtherValues) .mapToObj(JsonFactory::newValue) .toArray(JsonValue[]::new)); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) { final List<JsonField> fields = mapping.entrySet().stream().map(e -> JsonFactory.newField(JsonFactory.newKey(e.getKey()), JsonFactory.newValue(e.getValue()))).collect(Collectors.toList()); return JsonFactory.newObjectBuilder(fields).build(); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) { final List<JsonField> fields = mapping.entrySet().stream().map(e -> JsonFactory.newField(JsonFactory.newKey(e.getKey()), JsonFactory.newValue(e.getValue()))).collect(Collectors.toList()); return JsonFactory.newObjectBuilder(fields).build(); }
@Override public ImmutableJsonArray add(final String value, final String... furtherValues) { checkValue(value); checkFurtherValues(furtherValues); return add(JsonFactory.newValue(value), Arrays.stream(furtherValues) .map(JsonFactory::newValue) .toArray(JsonValue[]::new)); }
@Override public ImmutableJsonArrayBuilder add(final long value, final long... furtherValues) { checkFurtherValues(furtherValues); values.add(JsonFactory.newValue(value)); addAll(Arrays.stream(furtherValues).mapToObj(JsonFactory::newValue)); return this; }
@Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); jsonObjectBuilder.set(JsonFields.PAYLOAD, JsonFactory.newValue(count), predicate); }
@Override public PropertySearchFilter ge(final String value) { checkStringValue(value); return ImmutablePropertyFilter.of(SearchFilter.Type.GE, propertyPath, JsonFactory.newValue(value)); }
@Override public ImmutableJsonArray add(final long value, final long... furtherValues) { checkFurtherValues(furtherValues); return add(JsonFactory.newValue(value), Arrays.stream(furtherValues) .mapToObj(JsonFactory::newValue) .toArray(JsonValue[]::new)); }
@Override public PropertySearchFilter gt(final String value) { checkStringValue(value); return ImmutablePropertyFilter.of(SearchFilter.Type.GT, propertyPath, JsonFactory.newValue(value)); }
@Override public PropertySearchFilter le(final String value) { checkStringValue(value); return ImmutablePropertyFilter.of(SearchFilter.Type.LE, propertyPath, JsonFactory.newValue(value)); }
@Override public JsonObject toJson(final JsonPointer pointer) { final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); for (final Permission permission : Permission.values()) { final JsonKey permissionJsonKey = permission.toJsonKey(); if (Objects.equals(permissionJsonKey, pointer)) { jsonObjectBuilder.set(permissionJsonKey, JsonFactory.newValue(values.contains(permission))); } } return jsonObjectBuilder.build(); }
/** * Verifies that the actual JSON object contains the expected value for the specified key. * * @param key the key of the expected value. * @param expectedValue the expected value to be associated with {@code key}. * @return this assert to allow method chaining. */ public JsonObjectAssert contains(final JsonKey key, final double expectedValue) { return contains(key, JsonFactory.newValue(expectedValue)); }