test_class.declarator: RESOURCE_TYPE = "resource-type"
test_class.modifier: private static final
test_class.original_string: private static final String RESOURCE_TYPE = "resource-type";
test_class.type: String
test_class.var_name: RESOURCE_TYPE
test_class.declarator: ENTITY_ID_WITHOUT_TYPE = DefaultEntityId.of("entity:id")
test_class.modifier: private static final
test_class.original_string: private static final EntityId ENTITY_ID_WITHOUT_TYPE = DefaultEntityId.of("entity:id");
test_class.type: EntityId
test_class.var_name: ENTITY_ID_WITHOUT_TYPE
test_class.declarator: ENTITY_ID =
              ImmutableEntityIdWithResourceType.of(RESOURCE_TYPE, ENTITY_ID_WITHOUT_TYPE)
test_class.modifier: private static final
test_class.original_string: private static final EntityIdWithResourceType ENTITY_ID =
              ImmutableEntityIdWithResourceType.of(RESOURCE_TYPE, ENTITY_ID_WITHOUT_TYPE);
test_class.type: EntityIdWithResourceType
test_class.var_name: ENTITY_ID
test_class.declarator: EXPECTED_SERIALIZED_ENTITY_ID =
              String.join(ImmutableEntityIdWithResourceType.DELIMITER, RESOURCE_TYPE, ENTITY_ID_WITHOUT_TYPE)
test_class.modifier: private static final
test_class.original_string: private static final String EXPECTED_SERIALIZED_ENTITY_ID =
              String.join(ImmutableEntityIdWithResourceType.DELIMITER, RESOURCE_TYPE, ENTITY_ID_WITHOUT_TYPE);
test_class.type: String
test_class.var_name: EXPECTED_SERIALIZED_ENTITY_ID
test_class.file: services/utils/cache/src/test/java/org/eclipse/ditto/services/utils/cache/ImmutableEntityIdWithResourceTypeTest.java
test_class.identifier: ImmutableEntityIdWithResourceTypeTest
test_case.body: @Test
      public void testDeserialization() {
          assertThat(ImmutableEntityIdWithResourceType.readFrom(EXPECTED_SERIALIZED_ENTITY_ID)).isEqualTo(ENTITY_ID);
      }
test_case.class_method_signature: ImmutableEntityIdWithResourceTypeTest.testDeserialization()
test_case.full_signature: @Test public void testDeserialization()
test_case.identifier: testDeserialization
test_case.invocations: isEqualTo assertThat readFrom
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDeserialization()
focal_class.declarator: DELIMITER = ":"
focal_class.modifier: static final
focal_class.original_string: static final String DELIMITER = ":";
focal_class.type: String
focal_class.var_name: DELIMITER
focal_class.declarator: resourceType
focal_class.modifier: private final
focal_class.original_string: private final String resourceType;
focal_class.type: String
focal_class.var_name: resourceType
focal_class.declarator: id
focal_class.modifier: private final
focal_class.original_string: private final EntityId id;
focal_class.type: EntityId
focal_class.var_name: id
focal_class.declarator: cacheLookupContext
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final CacheLookupContext cacheLookupContext;
focal_class.type: CacheLookupContext
focal_class.var_name: cacheLookupContext
focal_class.file: services/utils/cache/src/main/java/org/eclipse/ditto/services/utils/cache/ImmutableEntityIdWithResourceType.java
focal_class.identifier: ImmutableEntityIdWithResourceType
focal_class.interfaces: implements EntityIdWithResourceType
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.ImmutableEntityIdWithResourceType(
              final String resourceType,
              final EntityId id,
              @Nullable final CacheLookupContext cacheLookupContext)
focal_class.full_signature: private  ImmutableEntityIdWithResourceType(
              final String resourceType,
              final EntityId id,
              @Nullable final CacheLookupContext cacheLookupContext)
focal_class.identifier: ImmutableEntityIdWithResourceType
focal_class.modifiers: private
focal_class.parameters: (
              final String resourceType,
              final EntityId id,
              @Nullable final CacheLookupContext cacheLookupContext)
focal_class.signature:  ImmutableEntityIdWithResourceType(
              final String resourceType,
              final EntityId id,
              @Nullable final CacheLookupContext cacheLookupContext)
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.of(final String resourceType, final EntityId id)
focal_class.full_signature: static EntityIdWithResourceType of(final String resourceType, final EntityId id)
focal_class.identifier: of
focal_class.modifiers: static
focal_class.parameters: (final String resourceType, final EntityId id)
focal_class.return: EntityIdWithResourceType
focal_class.signature: EntityIdWithResourceType of(final String resourceType, final EntityId id)
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.of(final String resourceType, final EntityId id,
              final CacheLookupContext cacheLookupContext)
focal_class.full_signature: static EntityIdWithResourceType of(final String resourceType, final EntityId id,
              final CacheLookupContext cacheLookupContext)
focal_class.identifier: of
focal_class.modifiers: static
focal_class.parameters: (final String resourceType, final EntityId id,
              final CacheLookupContext cacheLookupContext)
focal_class.return: EntityIdWithResourceType
focal_class.signature: EntityIdWithResourceType of(final String resourceType, final EntityId id,
              final CacheLookupContext cacheLookupContext)
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.readFrom(final String string)
focal_class.full_signature: static EntityIdWithResourceType readFrom(final String string)
focal_class.identifier: readFrom
focal_class.modifiers: static
focal_class.parameters: (final String string)
focal_class.return: EntityIdWithResourceType
focal_class.signature: EntityIdWithResourceType readFrom(final String string)
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.getResourceType()
focal_class.full_signature: @Override public String getResourceType()
focal_class.identifier: getResourceType
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getResourceType()
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.getId()
focal_class.full_signature: @Override public EntityId getId()
focal_class.identifier: getId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: EntityId
focal_class.signature: EntityId getId()
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.getCacheLookupContext()
focal_class.full_signature: @Override public Optional<CacheLookupContext> getCacheLookupContext()
focal_class.identifier: getCacheLookupContext
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<CacheLookupContext>
focal_class.signature: Optional<CacheLookupContext> getCacheLookupContext()
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: ImmutableEntityIdWithResourceType.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.class_method_signature: ImmutableEntityIdWithResourceType.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: static EntityIdWithResourceType readFrom(final String string) {
          checkNotNull(string, "string");
  
          final int delimiterIndex = string.indexOf(DELIMITER);
          if (delimiterIndex < 0) {
              final String message = MessageFormat.format("Unexpected EntityId format: <{0}>", string);
              throw new IllegalArgumentException(message);
          } else {
              final EntityId id = DefaultEntityId.of(string.substring(delimiterIndex + 1));
              final String resourceType = string.substring(0, delimiterIndex);
              return new ImmutableEntityIdWithResourceType(resourceType, id, null);
          }
      }
focal_method.class_method_signature: ImmutableEntityIdWithResourceType.readFrom(final String string)
focal_method.full_signature: static EntityIdWithResourceType readFrom(final String string)
focal_method.identifier: readFrom
focal_method.invocations: checkNotNull indexOf format of substring substring
focal_method.modifiers: static
focal_method.parameters: (final String string)
focal_method.return: EntityIdWithResourceType
focal_method.signature: EntityIdWithResourceType readFrom(final String string)