/** * Returns the JsonFieldDefinition for this Label. * * @return the field definition. */ default JsonFieldDefinition<JsonObject> getJsonFieldDefinition() { return JsonFactory.newJsonObjectFieldDefinition(this, FieldType.REGULAR, JsonSchemaVersion.V_2); }
/** * Returns a new JSON field definition for a {@link JsonObject} value. * * @param pointer a character sequence consisting of either a single JSON key or a slash delimited hierarchy of JSON * keys aka JSON pointer. * @param markers an optional array of markers which add user defined semantics to the defined JSON field. * @return the new JSON field definition. * @throws NullPointerException if {@code pointer} is {@code null}. * @throws IllegalArgumentException if {@code pointer} is empty. * @see JsonFactory#newJsonObjectFieldDefinition(CharSequence, JsonFieldMarker...) */ static JsonFieldDefinition<JsonObject> ofJsonObject(final CharSequence pointer, final JsonFieldMarker ... markers) { return JsonFactory.newJsonObjectFieldDefinition(pointer, markers); }
/** * Returns a new JSON field definition for a {@link JsonObject} value. * * @param pointer a character sequence consisting of either a single JSON key or a slash delimited hierarchy of JSON * keys aka JSON pointer. * @param markers an optional array of markers which add user defined semantics to the defined JSON field. * @return the new JSON field definition. * @throws NullPointerException if {@code pointer} is {@code null}. * @throws IllegalArgumentException if {@code pointer} is empty. * @see JsonFactory#newJsonObjectFieldDefinition(CharSequence, JsonFieldMarker...) */ static JsonFieldDefinition<JsonObject> ofJsonObject(final CharSequence pointer, final JsonFieldMarker ... markers) { return JsonFactory.newJsonObjectFieldDefinition(pointer, markers); }
@Override public JsonObject 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_SEEN_BY, seenBy.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray())); jsonObjectBuilder.set(JSON_KEY_LEADER, getLeader().orElse("<unknown>")); jsonObjectBuilder.set(JSON_KEY_OWN_ROLES, ownRoles.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray())); final JsonObjectBuilder rolesObjectBuilder = JsonFactory.newObjectBuilder(); roles.forEach(roleStatus -> { final JsonKey key = JsonFactory.newKey(roleStatus.getRole()); final JsonValue value = roleStatus.toJson(); final JsonFieldDefinition<JsonObject> fieldDefinition = JsonFactory.newJsonObjectFieldDefinition(key, FieldType.REGULAR); final JsonField field = JsonFactory.newField(key, value, fieldDefinition); rolesObjectBuilder.set(field); }); jsonObjectBuilder.set(JSON_KEY_ROLES, rolesObjectBuilder.build()); return jsonObjectBuilder.build(); }
@Override public JsonObject 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_SEEN_BY, seenBy.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray())); jsonObjectBuilder.set(JSON_KEY_LEADER, getLeader().orElse("<unknown>")); jsonObjectBuilder.set(JSON_KEY_OWN_ROLES, ownRoles.stream().map(JsonValue::of).collect(JsonCollectors.valuesToArray())); final JsonObjectBuilder rolesObjectBuilder = JsonFactory.newObjectBuilder(); roles.forEach(roleStatus -> { final JsonKey key = JsonFactory.newKey(roleStatus.getRole()); final JsonValue value = roleStatus.toJson(); final JsonFieldDefinition<JsonObject> fieldDefinition = JsonFactory.newJsonObjectFieldDefinition(key, FieldType.REGULAR); final JsonField field = JsonFactory.newField(key, value, fieldDefinition); rolesObjectBuilder.set(field); }); jsonObjectBuilder.set(JSON_KEY_ROLES, rolesObjectBuilder.build()); return jsonObjectBuilder.build(); }
private JsonObject subjectsToJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); subjects.values().forEach(subject -> { final JsonKey key = JsonKey.of(subject.getId()); final JsonValue value = subject.toJson(schemaVersion, thePredicate); final JsonFieldDefinition<JsonObject> fieldDefinition = JsonFactory.newJsonObjectFieldDefinition(key, FieldType.REGULAR, JsonSchemaVersion.V_2); final JsonField field = JsonFactory.newField(key, value, fieldDefinition); jsonObjectBuilder.set(field, predicate); }); return jsonObjectBuilder.build(); }
private JsonObject resourcesToJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); final JsonObjectBuilder jsonObjectBuilder = JsonFactory.newObjectBuilder(); resources.values().forEach(resource -> { final JsonKey key = JsonKey.of(resource.getFullQualifiedPath()); final JsonValue value = resource.toJson(schemaVersion, thePredicate); final JsonFieldDefinition<JsonObject> fieldDefinition = JsonFactory.newJsonObjectFieldDefinition(key, FieldType.REGULAR, JsonSchemaVersion.V_2); final JsonField field = JsonFactory.newField(key, value, fieldDefinition); jsonObjectBuilder.set(field, predicate); }); 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(); jsonObjectBuilder.set(JSON_SCHEMA_VERSION, schemaVersion.toInt(), predicate); features.values() .forEach(feature -> { final JsonKey key = JsonFactory.newKey(feature.getId()); final JsonValue value = feature.toJson(schemaVersion, thePredicate); final JsonFieldDefinition<JsonObject> fieldDefinition = JsonFactory.newJsonObjectFieldDefinition(key, FieldType.REGULAR, JsonSchemaVersion.V_1, JsonSchemaVersion.V_2); final JsonField field = JsonFactory.newField(key, value, fieldDefinition); jsonObjectBuilder.set(field, predicate); }); 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(); jsonObjectBuilder.set(JSON_SCHEMA_VERSION, schemaVersion.toInt(), predicate); features.values() .forEach(feature -> { final JsonKey key = JsonFactory.newKey(feature.getId()); final JsonValue value = feature.toJson(schemaVersion, thePredicate); final JsonFieldDefinition<JsonObject> fieldDefinition = JsonFactory.newJsonObjectFieldDefinition(key, FieldType.REGULAR, JsonSchemaVersion.V_1, JsonSchemaVersion.V_2); final JsonField field = JsonFactory.newField(key, value, fieldDefinition); jsonObjectBuilder.set(field, predicate); }); return jsonObjectBuilder.build(); }