test_class.declarator: KNOWN_KEY_NAME = JsonFactory.newKey("foo")
test_class.modifier: private static final
test_class.original_string: private static final JsonKey KNOWN_KEY_NAME = JsonFactory.newKey("foo");
test_class.type: JsonKey
test_class.var_name: KNOWN_KEY_NAME
test_class.file: json/src/test/java/org/eclipse/ditto/json/ImmutableJsonPointerTest.java
test_class.identifier: ImmutableJsonPointerTest
test_case.body: @Test(expected = NullPointerException.class)
      public void tryToParseNullString() {
          ImmutableJsonPointer.ofParsed(null);
      }
test_case.class_method_signature: ImmutableJsonPointerTest.tryToParseNullString()
test_case.full_signature: @Test(expected = NullPointerException.class) public void tryToParseNullString()
test_case.identifier: tryToParseNullString
test_case.invocations: ofParsed
test_case.modifiers: @Test(expected = NullPointerException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void tryToParseNullString()
focal_class.declarator: DOUBLE_SLASH_PATTERN = Pattern.compile("//")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern DOUBLE_SLASH_PATTERN = Pattern.compile("//");
focal_class.type: Pattern
focal_class.var_name: DOUBLE_SLASH_PATTERN
focal_class.declarator: SLASH = "/"
focal_class.modifier: private static final
focal_class.original_string: private static final String SLASH = "/";
focal_class.type: String
focal_class.var_name: SLASH
focal_class.declarator: SLASH_REGEX = "/(?!/)"
focal_class.modifier: private static final
focal_class.original_string: private static final String SLASH_REGEX = "/(?!/)";
focal_class.type: String
focal_class.var_name: SLASH_REGEX
focal_class.declarator: SINGLE_SLASH_REGEX_PATTERN = Pattern.compile(SLASH_REGEX)
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern SINGLE_SLASH_REGEX_PATTERN = Pattern.compile(SLASH_REGEX);
focal_class.type: Pattern
focal_class.var_name: SINGLE_SLASH_REGEX_PATTERN
focal_class.declarator: ESCAPED_TILDE_PATTERN = Pattern.compile("~0")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern ESCAPED_TILDE_PATTERN = Pattern.compile("~0");
focal_class.type: Pattern
focal_class.var_name: ESCAPED_TILDE_PATTERN
focal_class.declarator: DECODED_TILDE_PATTERN = Pattern.compile("~")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern DECODED_TILDE_PATTERN = Pattern.compile("~");
focal_class.type: Pattern
focal_class.var_name: DECODED_TILDE_PATTERN
focal_class.declarator: EMPTY = new ImmutableJsonPointer(Collections.emptyList())
focal_class.modifier: private static final
focal_class.original_string: private static final ImmutableJsonPointer EMPTY = new ImmutableJsonPointer(Collections.emptyList());
focal_class.type: ImmutableJsonPointer
focal_class.var_name: EMPTY
focal_class.declarator: jsonKeyHierarchy
focal_class.modifier: private final
focal_class.original_string: private final List<JsonKey> jsonKeyHierarchy;
focal_class.type: List<JsonKey>
focal_class.var_name: jsonKeyHierarchy
focal_class.file: json/src/main/java/org/eclipse/ditto/json/ImmutableJsonPointer.java
focal_class.identifier: ImmutableJsonPointer
focal_class.interfaces: implements JsonPointer
focal_class.class_method_signature: ImmutableJsonPointer.ImmutableJsonPointer(final List<JsonKey> theJsonKeys)
focal_class.full_signature: private  ImmutableJsonPointer(final List<JsonKey> theJsonKeys)
focal_class.identifier: ImmutableJsonPointer
focal_class.modifiers: private
focal_class.parameters: (final List<JsonKey> theJsonKeys)
focal_class.signature:  ImmutableJsonPointer(final List<JsonKey> theJsonKeys)
focal_class.class_method_signature: ImmutableJsonPointer.empty()
focal_class.full_signature: public static ImmutableJsonPointer empty()
focal_class.identifier: empty
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer empty()
focal_class.class_method_signature: ImmutableJsonPointer.ofParsed(final CharSequence slashDelimitedCharSequence)
focal_class.full_signature: public static JsonPointer ofParsed(final CharSequence slashDelimitedCharSequence)
focal_class.identifier: ofParsed
focal_class.modifiers: public static
focal_class.parameters: (final CharSequence slashDelimitedCharSequence)
focal_class.return: JsonPointer
focal_class.signature: JsonPointer ofParsed(final CharSequence slashDelimitedCharSequence)
focal_class.class_method_signature: ImmutableJsonPointer.decodeTilde(final CharSequence keyString)
focal_class.full_signature: private static String decodeTilde(final CharSequence keyString)
focal_class.identifier: decodeTilde
focal_class.modifiers: private static
focal_class.parameters: (final CharSequence keyString)
focal_class.return: String
focal_class.signature: String decodeTilde(final CharSequence keyString)
focal_class.class_method_signature: ImmutableJsonPointer.newInstance(final List<JsonKey> jsonKeyHierarchy)
focal_class.full_signature: private static ImmutableJsonPointer newInstance(final List<JsonKey> jsonKeyHierarchy)
focal_class.identifier: newInstance
focal_class.modifiers: private static
focal_class.parameters: (final List<JsonKey> jsonKeyHierarchy)
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer newInstance(final List<JsonKey> jsonKeyHierarchy)
focal_class.class_method_signature: ImmutableJsonPointer.of(final JsonKey rootLevel, final JsonKey... subLevels)
focal_class.full_signature: public static ImmutableJsonPointer of(final JsonKey rootLevel, final JsonKey... subLevels)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final JsonKey rootLevel, final JsonKey... subLevels)
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer of(final JsonKey rootLevel, final JsonKey... subLevels)
focal_class.class_method_signature: ImmutableJsonPointer.checkRootLevel(final JsonKey rootLevel)
focal_class.full_signature: private static void checkRootLevel(final JsonKey rootLevel)
focal_class.identifier: checkRootLevel
focal_class.modifiers: private static
focal_class.parameters: (final JsonKey rootLevel)
focal_class.return: void
focal_class.signature: void checkRootLevel(final JsonKey rootLevel)
focal_class.class_method_signature: ImmutableJsonPointer.of(final JsonKey rootLevel, final JsonPointer subPointer)
focal_class.full_signature: static ImmutableJsonPointer of(final JsonKey rootLevel, final JsonPointer subPointer)
focal_class.identifier: of
focal_class.modifiers: static
focal_class.parameters: (final JsonKey rootLevel, final JsonPointer subPointer)
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer of(final JsonKey rootLevel, final JsonPointer subPointer)
focal_class.class_method_signature: ImmutableJsonPointer.checkSubPointer(final Object subPointer)
focal_class.full_signature: private static void checkSubPointer(final Object subPointer)
focal_class.identifier: checkSubPointer
focal_class.modifiers: private static
focal_class.parameters: (final Object subPointer)
focal_class.return: void
focal_class.signature: void checkSubPointer(final Object subPointer)
focal_class.class_method_signature: ImmutableJsonPointer.addLeaf(final JsonKey key)
focal_class.full_signature: @Override public ImmutableJsonPointer addLeaf(final JsonKey key)
focal_class.identifier: addLeaf
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonKey key)
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer addLeaf(final JsonKey key)
focal_class.class_method_signature: ImmutableJsonPointer.append(final JsonPointer subPointer)
focal_class.full_signature: @Override public ImmutableJsonPointer append(final JsonPointer subPointer)
focal_class.identifier: append
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonPointer subPointer)
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer append(final JsonPointer subPointer)
focal_class.class_method_signature: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.getSubPointer(final int level)
focal_class.full_signature: @SuppressWarnings("squid:S1166") @Override public Optional<JsonPointer> getSubPointer(final int level)
focal_class.identifier: getSubPointer
focal_class.modifiers: @SuppressWarnings("squid:S1166") @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: ImmutableJsonPointer.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: ImmutableJsonPointer.cutLeaf()
focal_class.full_signature: @Override public ImmutableJsonPointer cutLeaf()
focal_class.identifier: cutLeaf
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ImmutableJsonPointer
focal_class.signature: ImmutableJsonPointer cutLeaf()
focal_class.class_method_signature: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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: ImmutableJsonPointer.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_class.class_method_signature: ImmutableJsonPointer.escapeTilde(final JsonKey jsonKey)
focal_class.full_signature: private static String escapeTilde(final JsonKey jsonKey)
focal_class.identifier: escapeTilde
focal_class.modifiers: private static
focal_class.parameters: (final JsonKey jsonKey)
focal_class.return: String
focal_class.signature: String escapeTilde(final JsonKey jsonKey)
focal_method.body: public static JsonPointer ofParsed(final CharSequence slashDelimitedCharSequence) {
          requireNonNull(slashDelimitedCharSequence, "The JSON pointer character sequence must not be null!");
  
          final JsonPointer result;
  
          if (JsonPointer.class.isAssignableFrom(slashDelimitedCharSequence.getClass())) {
              result = (JsonPointer) slashDelimitedCharSequence;
          } else if (JsonKey.class.isAssignableFrom(slashDelimitedCharSequence.getClass())) {
              result = newInstance(Collections.singletonList(((JsonKey) slashDelimitedCharSequence)));
          } else if (0 == slashDelimitedCharSequence.length()) {
              result = empty();
          } else if (DOUBLE_SLASH_PATTERN.matcher(slashDelimitedCharSequence).find()) {
              throw JsonPointerInvalidException.newBuilderForConsecutiveSlashes(slashDelimitedCharSequence)
                      .build();
          } else {
              final List<JsonKey> jsonKeys = Stream.of(SINGLE_SLASH_REGEX_PATTERN.split(slashDelimitedCharSequence))
                      .filter(keyName -> !keyName.isEmpty()) // ignore empty segments
                      .map(ImmutableJsonPointer::decodeTilde)
                      .map(JsonFactory::newKey)
                      .collect(toList());
  
              result = newInstance(jsonKeys);
          }
  
          return result;
      }
focal_method.class_method_signature: ImmutableJsonPointer.ofParsed(final CharSequence slashDelimitedCharSequence)
focal_method.full_signature: public static JsonPointer ofParsed(final CharSequence slashDelimitedCharSequence)
focal_method.identifier: ofParsed
focal_method.invocations: requireNonNull isAssignableFrom getClass isAssignableFrom getClass newInstance singletonList length empty find matcher build newBuilderForConsecutiveSlashes collect map map filter of split isEmpty toList newInstance
focal_method.modifiers: public static
focal_method.parameters: (final CharSequence slashDelimitedCharSequence)
focal_method.return: JsonPointer
focal_method.signature: JsonPointer ofParsed(final CharSequence slashDelimitedCharSequence)