test_class.file: protocol-adapter/src/test/java/org/eclipse/ditto/protocoladapter/ImmutableMessagePathTest.java
test_class.identifier: ImmutableMessagePathTest
test_case.body: @Test
      public void parseFeatureId() {
          assertFeatureId("/outbox/message/ask").isEmpty();
          assertFeatureId("/attributes/hello").isEmpty();
          assertFeatureId("/features/water-tank/properties/temperature").contains("water-tank");
          assertFeatureId("features/water-tank/inbox/messages/heatUp").contains("water-tank");
      }
test_case.class_method_signature: ImmutableMessagePathTest.parseFeatureId()
test_case.full_signature: @Test public void parseFeatureId()
test_case.identifier: parseFeatureId
test_case.invocations: isEmpty assertFeatureId isEmpty assertFeatureId contains assertFeatureId contains assertFeatureId
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void parseFeatureId()
focal_class.declarator: FEATURES = JsonKey.of("features")
focal_class.modifier: private static final
focal_class.original_string: private static final JsonKey FEATURES = JsonKey.of("features");
focal_class.type: JsonKey
focal_class.var_name: FEATURES
focal_class.declarator: jsonPointer
focal_class.modifier: private final
focal_class.original_string: private final JsonPointer jsonPointer;
focal_class.type: JsonPointer
focal_class.var_name: jsonPointer
focal_class.file: protocol-adapter/src/main/java/org/eclipse/ditto/protocoladapter/ImmutableMessagePath.java
focal_class.identifier: ImmutableMessagePath
focal_class.interfaces: implements MessagePath
focal_class.class_method_signature: ImmutableMessagePath.ImmutableMessagePath(final JsonPointer jsonPointer)
focal_class.full_signature: private  ImmutableMessagePath(final JsonPointer jsonPointer)
focal_class.identifier: ImmutableMessagePath
focal_class.modifiers: private
focal_class.parameters: (final JsonPointer jsonPointer)
focal_class.signature:  ImmutableMessagePath(final JsonPointer jsonPointer)
focal_class.class_method_signature: ImmutableMessagePath.of(final JsonPointer jsonPointer)
focal_class.full_signature: public static MessagePath of(final JsonPointer jsonPointer)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final JsonPointer jsonPointer)
focal_class.return: MessagePath
focal_class.signature: MessagePath of(final JsonPointer jsonPointer)
focal_class.class_method_signature: ImmutableMessagePath.getFeatureId()
focal_class.full_signature: @Override public Optional<String> getFeatureId()
focal_class.identifier: getFeatureId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<String>
focal_class.signature: Optional<String> getFeatureId()
focal_class.class_method_signature: ImmutableMessagePath.getDirection()
focal_class.full_signature: @Override public Optional<MessageDirection> getDirection()
focal_class.identifier: getDirection
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<MessageDirection>
focal_class.signature: Optional<MessageDirection> getDirection()
focal_class.class_method_signature: ImmutableMessagePath.addLeaf(final JsonKey key)
focal_class.full_signature: @Override public JsonPointer addLeaf(final JsonKey key)
focal_class.identifier: addLeaf
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonKey key)
focal_class.return: JsonPointer
focal_class.signature: JsonPointer addLeaf(final JsonKey key)
focal_class.class_method_signature: ImmutableMessagePath.append(final JsonPointer pointer)
focal_class.full_signature: @Override public JsonPointer append(final JsonPointer pointer)
focal_class.identifier: append
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonPointer pointer)
focal_class.return: JsonPointer
focal_class.signature: JsonPointer append(final JsonPointer pointer)
focal_class.class_method_signature: ImmutableMessagePath.getLevelCount()
focal_class.full_signature: @Override public int getLevelCount()
focal_class.identifier: getLevelCount
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getLevelCount()
focal_class.class_method_signature: ImmutableMessagePath.isEmpty()
focal_class.full_signature: @Override public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_class.class_method_signature: ImmutableMessagePath.get(final int level)
focal_class.full_signature: @Override public Optional<JsonKey> get(final int level)
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: (final int level)
focal_class.return: Optional<JsonKey>
focal_class.signature: Optional<JsonKey> get(final int level)
focal_class.class_method_signature: ImmutableMessagePath.getRoot()
focal_class.full_signature: @Override public Optional<JsonKey> getRoot()
focal_class.identifier: getRoot
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<JsonKey>
focal_class.signature: Optional<JsonKey> getRoot()
focal_class.class_method_signature: ImmutableMessagePath.getLeaf()
focal_class.full_signature: @Override public Optional<JsonKey> getLeaf()
focal_class.identifier: getLeaf
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<JsonKey>
focal_class.signature: Optional<JsonKey> getLeaf()
focal_class.class_method_signature: ImmutableMessagePath.cutLeaf()
focal_class.full_signature: @Override public JsonPointer cutLeaf()
focal_class.identifier: cutLeaf
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonPointer
focal_class.signature: JsonPointer cutLeaf()
focal_class.class_method_signature: ImmutableMessagePath.nextLevel()
focal_class.full_signature: @Override public JsonPointer nextLevel()
focal_class.identifier: nextLevel
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonPointer
focal_class.signature: JsonPointer nextLevel()
focal_class.class_method_signature: ImmutableMessagePath.getSubPointer(final int level)
focal_class.full_signature: @Override public Optional<JsonPointer> getSubPointer(final int level)
focal_class.identifier: getSubPointer
focal_class.modifiers: @Override public
focal_class.parameters: (final int level)
focal_class.return: Optional<JsonPointer>
focal_class.signature: Optional<JsonPointer> getSubPointer(final int level)
focal_class.class_method_signature: ImmutableMessagePath.getPrefixPointer(final int level)
focal_class.full_signature: @Override public Optional<JsonPointer> getPrefixPointer(final int level)
focal_class.identifier: getPrefixPointer
focal_class.modifiers: @Override public
focal_class.parameters: (final int level)
focal_class.return: Optional<JsonPointer>
focal_class.signature: Optional<JsonPointer> getPrefixPointer(final int level)
focal_class.class_method_signature: ImmutableMessagePath.toFieldSelector()
focal_class.full_signature: @Override public JsonFieldSelector toFieldSelector()
focal_class.identifier: toFieldSelector
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonFieldSelector
focal_class.signature: JsonFieldSelector toFieldSelector()
focal_class.class_method_signature: ImmutableMessagePath.length()
focal_class.full_signature: @Override public int length()
focal_class.identifier: length
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int length()
focal_class.class_method_signature: ImmutableMessagePath.charAt(final int index)
focal_class.full_signature: @Override public char charAt(final int index)
focal_class.identifier: charAt
focal_class.modifiers: @Override public
focal_class.parameters: (final int index)
focal_class.return: char
focal_class.signature: char charAt(final int index)
focal_class.class_method_signature: ImmutableMessagePath.subSequence(final int start, final int end)
focal_class.full_signature: @Override public CharSequence subSequence(final int start, final int end)
focal_class.identifier: subSequence
focal_class.modifiers: @Override public
focal_class.parameters: (final int start, final int end)
focal_class.return: CharSequence
focal_class.signature: CharSequence subSequence(final int start, final int end)
focal_class.class_method_signature: ImmutableMessagePath.iterator()
focal_class.full_signature: @Override public Iterator<JsonKey> iterator()
focal_class.identifier: iterator
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Iterator<JsonKey>
focal_class.signature: Iterator<JsonKey> iterator()
focal_class.class_method_signature: ImmutableMessagePath.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: ImmutableMessagePath.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: ImmutableMessagePath.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: @Override
      public boolean isEmpty() {
          return jsonPointer.isEmpty();
      }
focal_method.class_method_signature: ImmutableMessagePath.isEmpty()
focal_method.full_signature: @Override public boolean isEmpty()
focal_method.identifier: isEmpty
focal_method.invocations: isEmpty
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: boolean
focal_method.signature: boolean isEmpty()