test_class.declarator: KNOWN_JSON = JsonFactory.newObjectBuilder()
              .set(DittoRuntimeException.JsonFields.STATUS, PolicyInvalidException.STATUS_CODE.toInt())
              .set(DittoRuntimeException.JsonFields.ERROR_CODE, PolicyInvalidException.ERROR_CODE)
              .set(DittoRuntimeException.JsonFields.MESSAGE,
                      TestConstants.Thing.POLICY_INVALID_EXCEPTION.getMessage())
              .set(DittoRuntimeException.JsonFields.DESCRIPTION,
                      TestConstants.Thing.POLICY_INVALID_EXCEPTION.getDescription().orElse(null),
                      JsonField.isValueNonNull())
              .set(DittoRuntimeException.JsonFields.HREF,
                      TestConstants.Thing.POLICY_INVALID_EXCEPTION.getHref()
                              .map(URI::toString).orElse(null),
                      JsonField.isValueNonNull())
              .build()
test_class.modifier: private static final
test_class.original_string: private static final JsonObject KNOWN_JSON = JsonFactory.newObjectBuilder()
              .set(DittoRuntimeException.JsonFields.STATUS, PolicyInvalidException.STATUS_CODE.toInt())
              .set(DittoRuntimeException.JsonFields.ERROR_CODE, PolicyInvalidException.ERROR_CODE)
              .set(DittoRuntimeException.JsonFields.MESSAGE,
                      TestConstants.Thing.POLICY_INVALID_EXCEPTION.getMessage())
              .set(DittoRuntimeException.JsonFields.DESCRIPTION,
                      TestConstants.Thing.POLICY_INVALID_EXCEPTION.getDescription().orElse(null),
                      JsonField.isValueNonNull())
              .set(DittoRuntimeException.JsonFields.HREF,
                      TestConstants.Thing.POLICY_INVALID_EXCEPTION.getHref()
                              .map(URI::toString).orElse(null),
                      JsonField.isValueNonNull())
              .build();
test_class.type: JsonObject
test_class.var_name: KNOWN_JSON
test_class.file: signals/commands/things/src/test/java/org/eclipse/ditto/signals/commands/things/exceptions/PolicyInvalidExceptionTest.java
test_class.identifier: PolicyInvalidExceptionTest
test_case.body: @Test
      public void createInstanceFromValidJson() {
          final PolicyInvalidException underTest =
                  PolicyInvalidException.fromJson(KNOWN_JSON, DittoHeaders.empty());
  
          DittoBaseAssertions.assertThat(underTest).isEqualTo(TestConstants.Thing.POLICY_INVALID_EXCEPTION);
      }
test_case.class_method_signature: PolicyInvalidExceptionTest.createInstanceFromValidJson()
test_case.full_signature: @Test public void createInstanceFromValidJson()
test_case.identifier: createInstanceFromValidJson
test_case.invocations: fromJson empty isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createInstanceFromValidJson()
focal_class.declarator: ERROR_CODE = ERROR_CODE_PREFIX + "policy.invalid"
focal_class.modifier: public static final
focal_class.original_string: public static final String ERROR_CODE = ERROR_CODE_PREFIX + "policy.invalid";
focal_class.type: String
focal_class.var_name: ERROR_CODE
focal_class.declarator: STATUS_CODE = HttpStatusCode.BAD_REQUEST
focal_class.modifier: static final
focal_class.original_string: static final HttpStatusCode STATUS_CODE = HttpStatusCode.BAD_REQUEST;
focal_class.type: HttpStatusCode
focal_class.var_name: STATUS_CODE
focal_class.declarator: MESSAGE_TEMPLATE = "The Policy specified for the Thing with ID ''{0}'' is invalid."
focal_class.modifier: private static final
focal_class.original_string: private static final String MESSAGE_TEMPLATE = "The Policy specified for the Thing with ID ''{0}'' is invalid.";
focal_class.type: String
focal_class.var_name: MESSAGE_TEMPLATE
focal_class.declarator: DESCRIPTION_TEMPLATE =
              "It must contain at least one Subject with the following permission(s): ''{0}''!"
focal_class.modifier: private static final
focal_class.original_string: private static final String DESCRIPTION_TEMPLATE =
              "It must contain at least one Subject with the following permission(s): ''{0}''!";
focal_class.type: String
focal_class.var_name: DESCRIPTION_TEMPLATE
focal_class.declarator: serialVersionUID = -4503670096839743360L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = -4503670096839743360L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.file: signals/commands/things/src/main/java/org/eclipse/ditto/signals/commands/things/exceptions/PolicyInvalidException.java
focal_class.identifier: PolicyInvalidException
focal_class.interfaces: implements ThingException
focal_class.class_method_signature: PolicyInvalidException.PolicyInvalidException(final DittoHeaders dittoHeaders,
              @Nullable final String message,
              @Nullable final String description,
              @Nullable final Throwable cause,
              @Nullable final URI href)
focal_class.full_signature: private  PolicyInvalidException(final DittoHeaders dittoHeaders,
              @Nullable final String message,
              @Nullable final String description,
              @Nullable final Throwable cause,
              @Nullable final URI href)
focal_class.identifier: PolicyInvalidException
focal_class.modifiers: private
focal_class.parameters: (final DittoHeaders dittoHeaders,
              @Nullable final String message,
              @Nullable final String description,
              @Nullable final Throwable cause,
              @Nullable final URI href)
focal_class.signature:  PolicyInvalidException(final DittoHeaders dittoHeaders,
              @Nullable final String message,
              @Nullable final String description,
              @Nullable final Throwable cause,
              @Nullable final URI href)
focal_class.class_method_signature: PolicyInvalidException.newBuilder(final Collection<String> permissions, final ThingId thingId)
focal_class.full_signature: public static Builder newBuilder(final Collection<String> permissions, final ThingId thingId)
focal_class.identifier: newBuilder
focal_class.modifiers: public static
focal_class.parameters: (final Collection<String> permissions, final ThingId thingId)
focal_class.return: Builder
focal_class.signature: Builder newBuilder(final Collection<String> permissions, final ThingId thingId)
focal_class.class_method_signature: PolicyInvalidException.newBuilderForCause(final Throwable cause, final ThingId thingId)
focal_class.full_signature: public static Builder newBuilderForCause(final Throwable cause, final ThingId thingId)
focal_class.identifier: newBuilderForCause
focal_class.modifiers: public static
focal_class.parameters: (final Throwable cause, final ThingId thingId)
focal_class.return: Builder
focal_class.signature: Builder newBuilderForCause(final Throwable cause, final ThingId thingId)
focal_class.class_method_signature: PolicyInvalidException.fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.full_signature: public static PolicyInvalidException fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.return: PolicyInvalidException
focal_class.signature: PolicyInvalidException fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: PolicyInvalidException.getEmptyBuilder()
focal_class.full_signature: @Override protected DittoRuntimeExceptionBuilder<? extends DittoRuntimeException> getEmptyBuilder()
focal_class.identifier: getEmptyBuilder
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: DittoRuntimeExceptionBuilder<? extends DittoRuntimeException>
focal_class.signature: DittoRuntimeExceptionBuilder<? extends DittoRuntimeException> getEmptyBuilder()
focal_class.class_method_signature: PolicyInvalidException.getSupportedSchemaVersions()
focal_class.full_signature: @Override public JsonSchemaVersion[] getSupportedSchemaVersions()
focal_class.identifier: getSupportedSchemaVersions
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonSchemaVersion[]
focal_class.signature: JsonSchemaVersion[] getSupportedSchemaVersions()
focal_class.superclass: extends DittoRuntimeException
focal_method.body: public static PolicyInvalidException fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders) {
          return DittoRuntimeException.fromJson(jsonObject, dittoHeaders, new Builder());
      }
focal_method.class_method_signature: PolicyInvalidException.fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_method.full_signature: public static PolicyInvalidException fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_method.identifier: fromJson
focal_method.invocations: fromJson
focal_method.modifiers: public static
focal_method.parameters: (final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_method.return: PolicyInvalidException
focal_method.signature: PolicyInvalidException fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)