@Override default JsonObject toJson() { return toJson(FieldType.notHidden()); }
@Override default JsonObject toJson() { return toJson(FieldType.notHidden()); }
@Override default JsonObject toJson(final JsonSchemaVersion schemaVersion, final JsonFieldSelector fieldSelector) { return toJson(schemaVersion, FieldType.notHidden()).get(fieldSelector); }
@Override default JsonObject toJson(final JsonSchemaVersion schemaVersion, final JsonFieldSelector fieldSelector) { return toJson(schemaVersion, FieldType.notHidden()).get(fieldSelector); }
@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.SCHEMA_VERSION, schemaVersion.toInt(), predicate); jsonObjectBuilder.set(JsonFields.ADDRESSES, addresses.stream() .map(JsonFactory::newValue) .collect(JsonCollectors.valuesToArray()), predicate.and(Objects::nonNull)); jsonObjectBuilder.set(JsonFields.CONSUMER_COUNT, consumerCount, predicate); if (!authorizationContext.isEmpty()) { jsonObjectBuilder.set(JsonFields.AUTHORIZATION_CONTEXT, authorizationContext.stream() .map(AuthorizationSubject::getId) .map(JsonFactory::newValue) .collect(JsonCollectors.valuesToArray()), predicate); } if (enforcement != null) { jsonObjectBuilder.set(JsonFields.ENFORCEMENT, enforcement.toJson(schemaVersion, thePredicate), predicate); } if (headerMapping != null) { jsonObjectBuilder.set(JsonFields.HEADER_MAPPING, headerMapping.toJson(schemaVersion, thePredicate), 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(JsonFields.SCHEMA_VERSION, schemaVersion.toInt(), predicate); jsonObjectBuilder.set(JsonFields.ADDRESSES, addresses.stream() .map(JsonFactory::newValue) .collect(JsonCollectors.valuesToArray()), predicate.and(Objects::nonNull)); jsonObjectBuilder.set(JsonFields.CONSUMER_COUNT, consumerCount, predicate); if (!authorizationContext.isEmpty()) { jsonObjectBuilder.set(JsonFields.AUTHORIZATION_CONTEXT, authorizationContext.stream() .map(AuthorizationSubject::getId) .map(JsonFactory::newValue) .collect(JsonCollectors.valuesToArray()), predicate); } if (enforcement != null) { jsonObjectBuilder.set(JsonFields.ENFORCEMENT, enforcement.toJson(schemaVersion, thePredicate), predicate); } if (headerMapping != null) { jsonObjectBuilder.set(JsonFields.HEADER_MAPPING, headerMapping.toJson(schemaVersion, thePredicate), predicate); } return jsonObjectBuilder.build(); }