test_class.declarator: JSON_PARSE_OPTIONS_WITHOUT_URL_DECODING =
              JsonFactory.newParseOptionsBuilder().withoutUrlDecoding().build()
test_class.modifier: private static final
test_class.original_string: private static final JsonParseOptions JSON_PARSE_OPTIONS_WITHOUT_URL_DECODING =
              JsonFactory.newParseOptionsBuilder().withoutUrlDecoding().build();
test_class.type: JsonParseOptions
test_class.var_name: JSON_PARSE_OPTIONS_WITHOUT_URL_DECODING
test_class.declarator: JSON_PARSE_OPTIONS_WITH_URL_DECODING =
              JsonFactory.newParseOptionsBuilder().withUrlDecoding().build()
test_class.modifier: private static final
test_class.original_string: private static final JsonParseOptions JSON_PARSE_OPTIONS_WITH_URL_DECODING =
              JsonFactory.newParseOptionsBuilder().withUrlDecoding().build();
test_class.type: JsonParseOptions
test_class.var_name: JSON_PARSE_OPTIONS_WITH_URL_DECODING
test_class.file: json/src/test/java/org/eclipse/ditto/json/ImmutableJsonFieldSelectorFactoryTest.java
test_class.identifier: ImmutableJsonFieldSelectorFactoryTest
test_case.body: @Test(expected = JsonFieldSelectorInvalidException.class)
      public void tryToCreateInstanceWithStringContainingUnevenCountOfOpeningAndClosingParentheses() {
          final String jsonFieldSelectorString = "thingId,attributes(someAttr/subsel,owner";
          ImmutableJsonFieldSelectorFactory.newInstance(jsonFieldSelectorString, JSON_PARSE_OPTIONS_WITHOUT_URL_DECODING);
      }
test_case.class_method_signature: ImmutableJsonFieldSelectorFactoryTest.tryToCreateInstanceWithStringContainingUnevenCountOfOpeningAndClosingParentheses()
test_case.full_signature: @Test(expected = JsonFieldSelectorInvalidException.class) public void tryToCreateInstanceWithStringContainingUnevenCountOfOpeningAndClosingParentheses()
test_case.identifier: tryToCreateInstanceWithStringContainingUnevenCountOfOpeningAndClosingParentheses
test_case.invocations: newInstance
test_case.modifiers: @Test(expected = JsonFieldSelectorInvalidException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void tryToCreateInstanceWithStringContainingUnevenCountOfOpeningAndClosingParentheses()
focal_class.declarator: OPENING_PARENTHESIS = "("
focal_class.modifier: private static final
focal_class.original_string: private static final String OPENING_PARENTHESIS = "(";
focal_class.type: String
focal_class.var_name: OPENING_PARENTHESIS
focal_class.declarator: CLOSING_PARENTHESIS = ")"
focal_class.modifier: private static final
focal_class.original_string: private static final String CLOSING_PARENTHESIS = ")";
focal_class.type: String
focal_class.var_name: CLOSING_PARENTHESIS
focal_class.declarator: jsonFieldSelectorString
focal_class.modifier: private final
focal_class.original_string: private final String jsonFieldSelectorString;
focal_class.type: String
focal_class.var_name: jsonFieldSelectorString
focal_class.file: json/src/main/java/org/eclipse/ditto/json/ImmutableJsonFieldSelectorFactory.java
focal_class.identifier: ImmutableJsonFieldSelectorFactory
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.ImmutableJsonFieldSelectorFactory(final String theJsonFieldSelectorString)
focal_class.full_signature: private  ImmutableJsonFieldSelectorFactory(final String theJsonFieldSelectorString)
focal_class.identifier: ImmutableJsonFieldSelectorFactory
focal_class.modifiers: private
focal_class.parameters: (final String theJsonFieldSelectorString)
focal_class.signature:  ImmutableJsonFieldSelectorFactory(final String theJsonFieldSelectorString)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_class.full_signature: public static ImmutableJsonFieldSelectorFactory newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_class.identifier: newInstance
focal_class.modifiers: public static
focal_class.parameters: (final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_class.return: ImmutableJsonFieldSelectorFactory
focal_class.signature: ImmutableJsonFieldSelectorFactory newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.tryToDecodeString(final String s, final JsonParseOptions jsonParseOptions)
focal_class.full_signature: @SuppressWarnings("squid:S1166") private static String tryToDecodeString(final String s, final JsonParseOptions jsonParseOptions)
focal_class.identifier: tryToDecodeString
focal_class.modifiers: @SuppressWarnings("squid:S1166") private static
focal_class.parameters: (final String s, final JsonParseOptions jsonParseOptions)
focal_class.return: String
focal_class.signature: String tryToDecodeString(final String s, final JsonParseOptions jsonParseOptions)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.decode(final String s, final JsonParseOptions jsonParseOptions)
focal_class.full_signature: private static String decode(final String s, final JsonParseOptions jsonParseOptions)
focal_class.identifier: decode
focal_class.modifiers: private static
focal_class.parameters: (final String s, final JsonParseOptions jsonParseOptions)
focal_class.return: String
focal_class.signature: String decode(final String s, final JsonParseOptions jsonParseOptions)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.splitAroundComma(final String toSplit)
focal_class.full_signature: private static List<String> splitAroundComma(final String toSplit)
focal_class.identifier: splitAroundComma
focal_class.modifiers: private static
focal_class.parameters: (final String toSplit)
focal_class.return: List<String>
focal_class.signature: List<String> splitAroundComma(final String toSplit)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.flattenToJsonPointers(final Iterable<String> rawJsonKeys)
focal_class.full_signature: private static Set<JsonPointer> flattenToJsonPointers(final Iterable<String> rawJsonKeys)
focal_class.identifier: flattenToJsonPointers
focal_class.modifiers: private static
focal_class.parameters: (final Iterable<String> rawJsonKeys)
focal_class.return: Set<JsonPointer>
focal_class.signature: Set<JsonPointer> flattenToJsonPointers(final Iterable<String> rawJsonKeys)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.isJsonSelectorFormat(final String jsonKey)
focal_class.full_signature: private static boolean isJsonSelectorFormat(final String jsonKey)
focal_class.identifier: isJsonSelectorFormat
focal_class.modifiers: private static
focal_class.parameters: (final String jsonKey)
focal_class.return: boolean
focal_class.signature: boolean isJsonSelectorFormat(final String jsonKey)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.flattenToJsonPointers(final String stringWithParentheses)
focal_class.full_signature: private static Collection<JsonPointer> flattenToJsonPointers(final String stringWithParentheses)
focal_class.identifier: flattenToJsonPointers
focal_class.modifiers: private static
focal_class.parameters: (final String stringWithParentheses)
focal_class.return: Collection<JsonPointer>
focal_class.signature: Collection<JsonPointer> flattenToJsonPointers(final String stringWithParentheses)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.validateJsonFieldSelectorString()
focal_class.full_signature: private void validateJsonFieldSelectorString()
focal_class.identifier: validateJsonFieldSelectorString
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void validateJsonFieldSelectorString()
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.getCountOf(final CharSequence parenthesis)
focal_class.full_signature: private int getCountOf(final CharSequence parenthesis)
focal_class.identifier: getCountOf
focal_class.modifiers: private
focal_class.parameters: (final CharSequence parenthesis)
focal_class.return: int
focal_class.signature: int getCountOf(final CharSequence parenthesis)
focal_class.class_method_signature: ImmutableJsonFieldSelectorFactory.newJsonFieldSelector()
focal_class.full_signature: public JsonFieldSelector newJsonFieldSelector()
focal_class.identifier: newJsonFieldSelector
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: JsonFieldSelector
focal_class.signature: JsonFieldSelector newJsonFieldSelector()
focal_method.body: public static ImmutableJsonFieldSelectorFactory newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions) {
          requireNonNull(jsonFieldSelectorString, "The JSON field selector string must not be null!");
          requireNonNull(jsonParseOptions, "The JSON parse options must not be null!");
  
          final String decodedJsonFieldSelectorString = tryToDecodeString(jsonFieldSelectorString, jsonParseOptions);
          return new ImmutableJsonFieldSelectorFactory(decodedJsonFieldSelectorString);
      }
focal_method.class_method_signature: ImmutableJsonFieldSelectorFactory.newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_method.full_signature: public static ImmutableJsonFieldSelectorFactory newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_method.identifier: newInstance
focal_method.invocations: requireNonNull requireNonNull tryToDecodeString
focal_method.modifiers: public static
focal_method.parameters: (final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)
focal_method.return: ImmutableJsonFieldSelectorFactory
focal_method.signature: ImmutableJsonFieldSelectorFactory newInstance(final String jsonFieldSelectorString,
              final JsonParseOptions jsonParseOptions)