/** * Returns all non hidden marked fields of this subjects. * * @return a JSON object representation of this subjects including only non hidden marked fields. */ @Override default JsonObject toJson() { return toJson(FieldType.notHidden()); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { return Optional.of(subjects.toJson(schemaVersion, FieldType.regularOrSpecial())); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { return Optional.of(subjects.toJson(schemaVersion, FieldType.regularOrSpecial())); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { return Optional.of(subjects.toJson(schemaVersion, FieldType.regularOrSpecial())); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { return Optional.of(subjects.toJson(schemaVersion, FieldType.regularOrSpecial())); }
@Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); jsonObjectBuilder.set(JSON_LABEL, label.toString(), predicate); jsonObjectBuilder.set(JSON_SUBJECTS, subjects.toJson(schemaVersion, thePredicate), predicate); }
@Override default JsonObject toJson(final JsonSchemaVersion schemaVersion, final JsonFieldSelector fieldSelector) { return toJson(schemaVersion, FieldType.regularOrSpecial()).get(fieldSelector); }
@Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); jsonObjectBuilder.set(JSON_LABEL, label.toString(), predicate); jsonObjectBuilder.set(JSON_SUBJECTS, subjects.toJson(schemaVersion, thePredicate), predicate); }
@Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); jsonObjectBuilder.set(PolicyModifyCommand.JsonFields.JSON_POLICY_ID, policyId, predicate); jsonObjectBuilder.set(JSON_LABEL, label.toString(), predicate); jsonObjectBuilder.set(JSON_SUBJECTS, subjects.toJson(schemaVersion, thePredicate), predicate); }
@Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); jsonObjectBuilder.set(PolicyModifyCommand.JsonFields.JSON_POLICY_ID, policyId, predicate); jsonObjectBuilder.set(JSON_LABEL, label.toString(), predicate); jsonObjectBuilder.set(JSON_SUBJECTS, subjects.toJson(schemaVersion, thePredicate), predicate); }
/** * Creates a response to a {@code RetrieveSubjects} command. * * @param policyId the Policy ID of the retrieved subjects. * @param label the Label of the PolicyEntry. * @param subjects the retrieved Subjects. * @param dittoHeaders the headers of the preceding command. * @return the response. * @throws NullPointerException if any argument is {@code null}. */ public static RetrieveSubjectsResponse of(final String policyId, final Label label, final Subjects subjects, final DittoHeaders dittoHeaders) { return new RetrieveSubjectsResponse(policyId, label, checkNotNull(subjects, "Subjects").toJson( dittoHeaders.getSchemaVersion().orElse(subjects.getLatestSchemaVersion())), HttpStatusCode.OK, dittoHeaders); }
/** * Creates a response to a {@code RetrieveSubjects} command. * * @param policyId the Policy ID of the retrieved subjects. * @param label the Label of the PolicyEntry. * @param subjects the retrieved Subjects. * @param dittoHeaders the headers of the preceding command. * @return the response. * @throws NullPointerException if any argument is {@code null}. */ public static RetrieveSubjectsResponse of(final String policyId, final Label label, final Subjects subjects, final DittoHeaders dittoHeaders) { return new RetrieveSubjectsResponse(policyId, label, checkNotNull(subjects, "Subjects").toJson( dittoHeaders.getSchemaVersion().orElse(subjects.getLatestSchemaVersion())), HttpStatusCode.OK, dittoHeaders); }
@Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) { final Predicate<JsonField> predicate = schemaVersion.and(thePredicate); return JsonFactory.newObjectBuilder() .set(JsonFields.SCHEMA_VERSION, schemaVersion.toInt(), predicate) .set(JsonFields.SUBJECTS, subjects.toJson(schemaVersion, thePredicate), predicate) .set(JsonFields.RESOURCES, resources.toJson(schemaVersion, thePredicate), predicate) .build(); }