test_class.declarator: ENTITY_TYPE_PLUMBUS = EntityType.of("plumbus")
test_class.modifier: private static final
test_class.original_string: private static final EntityType ENTITY_TYPE_PLUMBUS = EntityType.of("plumbus");
test_class.type: EntityType
test_class.var_name: ENTITY_TYPE_PLUMBUS
test_class.declarator: ENTITY_TYPE_GRUMBO = EntityType.of("grumbo")
test_class.modifier: private static final
test_class.original_string: private static final EntityType ENTITY_TYPE_GRUMBO = EntityType.of("grumbo");
test_class.type: EntityType
test_class.var_name: ENTITY_TYPE_GRUMBO
test_class.declarator: parameter
test_class.modifier: @Parameterized.Parameter
      public
test_class.original_string: @Parameterized.Parameter
      public CompatibilityCheckParameter parameter;
test_class.type: CompatibilityCheckParameter
test_class.var_name: parameter
test_class.file: model/base/src/test/java/org/eclipse/ditto/model/base/entity/id/NamespacedEntityIdWithTypeTest.java
test_class.identifier: NamespacedEntityIdWithTypeTest
test_case.body: @Test
      public void isCompatibleOrThrowBehavesCorrectly() {
          if (parameter.shouldBeCompatible) {
              assertThat(parameter.blue.isCompatibleOrThrow(parameter.green)).isTrue();
          } else {
              assertThatIllegalArgumentException()
                      .isThrownBy(() -> parameter.blue.isCompatibleOrThrow(parameter.green))
                      .withMessage("The entity ID <%s> is not compatible with <%s>!", parameter.green, parameter.blue)
                      .withNoCause();
          }
      }
test_case.class_method_signature: NamespacedEntityIdWithTypeTest.isCompatibleOrThrowBehavesCorrectly()
test_case.full_signature: @Test public void isCompatibleOrThrowBehavesCorrectly()
test_case.identifier: isCompatibleOrThrowBehavesCorrectly
test_case.invocations: isTrue assertThat isCompatibleOrThrow withNoCause withMessage isThrownBy assertThatIllegalArgumentException isCompatibleOrThrow
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void isCompatibleOrThrowBehavesCorrectly()
focal_class.declarator: namespacedEntityId
focal_class.modifier: private final
focal_class.original_string: private final NamespacedEntityId namespacedEntityId;
focal_class.type: NamespacedEntityId
focal_class.var_name: namespacedEntityId
focal_class.file: model/base/src/main/java/org/eclipse/ditto/model/base/entity/id/NamespacedEntityIdWithType.java
focal_class.identifier: NamespacedEntityIdWithType
focal_class.interfaces: implements NamespacedEntityId
focal_class.class_method_signature: NamespacedEntityIdWithType.NamespacedEntityIdWithType(final NamespacedEntityId namespacedEntityId)
focal_class.full_signature: protected  NamespacedEntityIdWithType(final NamespacedEntityId namespacedEntityId)
focal_class.identifier: NamespacedEntityIdWithType
focal_class.modifiers: protected
focal_class.parameters: (final NamespacedEntityId namespacedEntityId)
focal_class.signature:  NamespacedEntityIdWithType(final NamespacedEntityId namespacedEntityId)
focal_class.class_method_signature: NamespacedEntityIdWithType.getNamespace()
focal_class.full_signature: @Override public String getNamespace()
focal_class.identifier: getNamespace
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getNamespace()
focal_class.class_method_signature: NamespacedEntityIdWithType.getName()
focal_class.full_signature: @Override public String getName()
focal_class.identifier: getName
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: NamespacedEntityIdWithType.isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId)
focal_class.full_signature: @Override public boolean isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId)
focal_class.identifier: isCompatibleOrThrow
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable final EntityIdWithType otherEntityId)
focal_class.return: boolean
focal_class.signature: boolean isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId)
focal_class.class_method_signature: NamespacedEntityIdWithType.isNamespaceAndNameCompatible(final NamespacedEntityId otherEntityId)
focal_class.full_signature: private boolean isNamespaceAndNameCompatible(final NamespacedEntityId otherEntityId)
focal_class.identifier: isNamespaceAndNameCompatible
focal_class.modifiers: private
focal_class.parameters: (final NamespacedEntityId otherEntityId)
focal_class.return: boolean
focal_class.signature: boolean isNamespaceAndNameCompatible(final NamespacedEntityId otherEntityId)
focal_class.class_method_signature: NamespacedEntityIdWithType.equals(@Nullable final Object o)
focal_class.full_signature: @Override public boolean equals(@Nullable final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(@Nullable final Object o)
focal_class.class_method_signature: NamespacedEntityIdWithType.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.superclass: extends EntityIdWithType
focal_method.body: @Override
      public boolean isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId) {
          final boolean result;
          if (null == otherEntityId) {
              result = false;
          } else if (equals(otherEntityId)) {
              result = true;
          } else if (!Objects.equals(getEntityType(), otherEntityId.getEntityType())) {
              result = false;
          } else if (otherEntityId instanceof NamespacedEntityIdWithType) {
              result = isNamespaceAndNameCompatible((NamespacedEntityId) otherEntityId);
          } else {
              result = false;
          }
          if (!result) {
              throw getIllegalArgumentExceptionForDifferentEntityIds(otherEntityId);
          }
          return result;
      }
focal_method.class_method_signature: NamespacedEntityIdWithType.isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId)
focal_method.full_signature: @Override public boolean isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId)
focal_method.identifier: isCompatibleOrThrow
focal_method.invocations: equals equals getEntityType getEntityType isNamespaceAndNameCompatible getIllegalArgumentExceptionForDifferentEntityIds
focal_method.modifiers: @Override public
focal_method.parameters: (@Nullable final EntityIdWithType otherEntityId)
focal_method.return: boolean
focal_method.signature: boolean isCompatibleOrThrow(@Nullable final EntityIdWithType otherEntityId)