/** * Returns a new mutable builder with a fluent API for a {@code JsonObject}. * * @return the builder. */ static JsonObjectBuilder newBuilder() { return JsonFactory.newObjectBuilder(); }
/** * Returns a new mutable builder with a fluent API for a {@code JsonObject}. The returned builder is already * initialised with the data of the this JSON object. This method is useful if an existing JSON object should be * strongly modified but the amount of creating objects should be kept low at the same time. * * @return the builder which is initialised with the data of this JSON object instance. */ default JsonObjectBuilder toBuilder() { return JsonFactory.newObjectBuilder(this); }
/** * Returns a new instance of {@code ImmutableFeaturePropertiesBuilder} which is initialised with the values of the * provided JSON object. * * @param <T> the type of the JSON object. * @param jsonObject the JSON object which provides the initial values of the result. * @return a new initialised {@code ImmutableFeaturePropertiesBuilder}. * @throws NullPointerException if {@code jsonObject} is {@code null}. */ public static <T extends JsonObject> FeaturePropertiesBuilder of(final T jsonObject) { return new ImmutableFeaturePropertiesBuilder(JsonFactory.newObjectBuilder(jsonObject)); }
@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 JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); jsonObjectBuilder.set(JsonFields.INPUT, input, predicate); jsonObjectBuilder.set(JsonFields.FILTERS, filters.stream() .map(JsonFactory::newValue) .collect(JsonCollectors.valuesToArray()), predicate.and(Objects::nonNull)); return jsonObjectBuilder.build(); }
@Override public JsonValue toJson() { final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); jsonObjectBuilder.set(JSON_KEY_REACHABLE, reachable.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray())); jsonObjectBuilder.set(JSON_KEY_UNREACHABLE, unreachable.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray())); jsonObjectBuilder.set(JSON_KEY_LEADER, getLeader().orElse("<unknown>")); return jsonObjectBuilder.build(); }
@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(); }
@Override public JsonObject buildJsonView(final ResourceKey resourceKey, final Iterable<JsonField> jsonFields, final AuthorizationContext authorizationContext, final Permissions permissions) { return hasUnrestrictedPermissions(resourceKey, authorizationContext, permissions) ? JsonFactory.newObjectBuilder(jsonFields).build() : JsonFactory.newObject(); } }
@Override public JsonObject toJson() { final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); jsonObjectBuilder.set(level.toString(), message); return jsonObjectBuilder.build(); }
@Override public JsonObject toJson() { return JsonFactory.newObjectBuilder() .set(JsonFields.CORRELATION_ID, correlationId) .set(JsonFields.PAYLOAD, payload) .build(); }
@Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); jsonObjectBuilder.set(JSON_POLICY_ENTRIES, StreamSupport.stream(policyEntries.spliterator(), false) .map(entry -> JsonFactory.newObjectBuilder().set(entry.getLabel().getJsonFieldDefinition(), entry.toJson(schemaVersion, thePredicate), predicate).build()) .collect(JsonCollectors.objectsToObject()), predicate); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) { final Predicate<JsonField> extendedPredicate = schemaVersion.and(predicate); final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder() .set(JsonFields.TYPE, getType().toString(), extendedPredicate); getDetails().ifPresent(d -> jsonObjectBuilder.set(JsonFields.DETAILS, d, extendedPredicate)); return jsonObjectBuilder.build(); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder() // TYPE is included unconditionally .set(Event.JsonFields.TYPE, type) .set(Event.JsonFields.TIMESTAMP, getTimestamp().map(Instant::toString).orElse(null), predicate); appendPayloadAndBuild(jsonObjectBuilder, schemaVersion, thePredicate); return jsonObjectBuilder.build(); }
/** * {@inheritDoc} */ @Override public JsonValue toJson() { return JsonFactory.newObjectBuilder() .set(JsonFields.ELEMENT_ID, elementId) .set(JsonFields.STATUS, status.name()) .build(); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); // TYPE is included unconditionally jsonObjectBuilder.set(Event.JsonFields.TYPE, type); getTimestamp().ifPresent(timestampPresent -> jsonObjectBuilder.set(Event.JsonFields.TIMESTAMP, timestampPresent.toString(), predicate)); jsonObjectBuilder.set(JsonFields.CONNECTION_ID, connectionId); appendPayloadAndBuild(jsonObjectBuilder, schemaVersion, thePredicate); return jsonObjectBuilder.build(); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); return JsonFactory.newObjectBuilder() // .set(JSON_SCHEMA_VERSION, schemaVersion.toInt(), predicate) // .setAll(stream() // .map(aclEntry -> aclEntry.toJson(schemaVersion, thePredicate)) // .collect(JsonCollectors.objectsToObject()), predicate) // .build(); }
@Override public JsonObject toJson(final Predicate<JsonField> predicate) { final JsonSchemaVersion jsonSchemaVersion = JsonSchemaVersion.V_1; return JsonFactory.newObjectBuilder() .set(SCHEMA_VERSION_JSON_FIELD, jsonSchemaVersion.toInt(), predicate) .set(NAMESPACE_JSON_FIELD, namespace, predicate) .set(COUNT_JSON_FIELD, count, predicate) .build(); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); return JsonFactory.newObjectBuilder() .set(JsonFields.JSON_SCHEMA_VERSION, schemaVersion.toInt(), predicate) .set(JsonFields.AUTH_SUBJECTS, authorizedSubjectsToJson(), predicate) .build(); }
@Override public JsonObject toJson() { return JsonFactory.newObjectBuilder() .set(JsonFields.ENTITY_ID, entityId) .set(JsonFields.POLICY_ID, policyTag.getId()) .set(JsonFields.POLICY_REV, policyTag.getRevision()) .build(); }