test_class.declarator: REPLACER_KEY_1 = "my:arbitrary:replacer1"
test_class.modifier: private static final
test_class.original_string: private static final String REPLACER_KEY_1 = "my:arbitrary:replacer1";
test_class.type: String
test_class.var_name: REPLACER_KEY_1
test_class.declarator: REPLACER_1 = "{{ " + REPLACER_KEY_1 + " }}"
test_class.modifier: private static final
test_class.original_string: private static final String REPLACER_1 = "{{ " + REPLACER_KEY_1 + " }}";
test_class.type: String
test_class.var_name: REPLACER_1
test_class.declarator: LEGACY_REPLACER_KEY = "request.subjectId"
test_class.modifier: private static final
test_class.original_string: private static final String LEGACY_REPLACER_KEY = "request.subjectId";
test_class.type: String
test_class.var_name: LEGACY_REPLACER_KEY
test_class.declarator: LEGACY_REPLACER = "${" + LEGACY_REPLACER_KEY + "}"
test_class.modifier: private static final
test_class.original_string: private static final String LEGACY_REPLACER = "${" + LEGACY_REPLACER_KEY + "}";
test_class.type: String
test_class.var_name: LEGACY_REPLACER
test_class.declarator: REPLACED_1 = "firstReplaced"
test_class.modifier: private static final
test_class.original_string: private static final String REPLACED_1 = "firstReplaced";
test_class.type: String
test_class.var_name: REPLACED_1
test_class.declarator: REPLACER_KEY_2 = "my:arbitrary:replacer2"
test_class.modifier: private static final
test_class.original_string: private static final String REPLACER_KEY_2 = "my:arbitrary:replacer2";
test_class.type: String
test_class.var_name: REPLACER_KEY_2
test_class.declarator: REPLACED_2 = "secondReplaced"
test_class.modifier: private static final
test_class.original_string: private static final String REPLACED_2 = "secondReplaced";
test_class.type: String
test_class.var_name: REPLACED_2
test_class.declarator: UNKNOWN_REPLACER_KEY = "unknown:unknown"
test_class.modifier: private static final
test_class.original_string: private static final String UNKNOWN_REPLACER_KEY = "unknown:unknown";
test_class.type: String
test_class.var_name: UNKNOWN_REPLACER_KEY
test_class.declarator: UNKNOWN_REPLACER = "{{ " + UNKNOWN_REPLACER_KEY + " }}"
test_class.modifier: private static final
test_class.original_string: private static final String UNKNOWN_REPLACER = "{{ " + UNKNOWN_REPLACER_KEY + " }}";
test_class.type: String
test_class.var_name: UNKNOWN_REPLACER
test_class.declarator: UNKNOWN_LEGACY_REPLACER_KEY = "unknown.unknown"
test_class.modifier: private static final
test_class.original_string: private static final String UNKNOWN_LEGACY_REPLACER_KEY = "unknown.unknown";
test_class.type: String
test_class.var_name: UNKNOWN_LEGACY_REPLACER_KEY
test_class.declarator: UNKNOWN_LEGACY_REPLACER = "${" + UNKNOWN_LEGACY_REPLACER_KEY + "}"
test_class.modifier: private static final
test_class.original_string: private static final String UNKNOWN_LEGACY_REPLACER = "${" + UNKNOWN_LEGACY_REPLACER_KEY + "}";
test_class.type: String
test_class.var_name: UNKNOWN_LEGACY_REPLACER
test_class.declarator: DITTO_HEADERS = DittoHeaders.newBuilder().correlationId("foo").build()
test_class.modifier: private static final
test_class.original_string: private static final DittoHeaders DITTO_HEADERS = DittoHeaders.newBuilder().correlationId("foo").build();
test_class.type: DittoHeaders
test_class.var_name: DITTO_HEADERS
test_class.declarator: underTest
test_class.modifier: private
test_class.original_string: private HeaderBasedPlaceholderSubstitutionAlgorithm underTest;
test_class.type: HeaderBasedPlaceholderSubstitutionAlgorithm
test_class.var_name: underTest
test_class.file: services/concierge/enforcement/src/test/java/org/eclipse/ditto/services/concierge/enforcement/placeholders/HeaderBasedPlaceholderSubstitutionAlgorithmTest.java
test_class.identifier: HeaderBasedPlaceholderSubstitutionAlgorithmTest
test_case.body: @Test
      public void substituteReturnsReplacedWhenInputContainsPlaceholder() {
          final String substituted = underTest.substitute(REPLACER_1, DITTO_HEADERS);
  
          assertThat(substituted).isEqualTo(REPLACED_1);
      }
test_case.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithmTest.substituteReturnsReplacedWhenInputContainsPlaceholder()
test_case.full_signature: @Test public void substituteReturnsReplacedWhenInputContainsPlaceholder()
test_case.identifier: substituteReturnsReplacedWhenInputContainsPlaceholder
test_case.invocations: substitute isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void substituteReturnsReplacedWhenInputContainsPlaceholder()
focal_class.declarator: replacementDefinitions
focal_class.modifier: private final
focal_class.original_string: private final Map<String, Function<DittoHeaders, String>> replacementDefinitions;
focal_class.type: Map<String, Function<DittoHeaders, String>>
focal_class.var_name: replacementDefinitions
focal_class.declarator: knownPlaceHolders
focal_class.modifier: private final
focal_class.original_string: private final List<CharSequence> knownPlaceHolders;
focal_class.type: List<CharSequence>
focal_class.var_name: knownPlaceHolders
focal_class.file: services/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/placeholders/HeaderBasedPlaceholderSubstitutionAlgorithm.java
focal_class.identifier: HeaderBasedPlaceholderSubstitutionAlgorithm
focal_class.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithm.HeaderBasedPlaceholderSubstitutionAlgorithm(
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.full_signature: private  HeaderBasedPlaceholderSubstitutionAlgorithm(
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.identifier: HeaderBasedPlaceholderSubstitutionAlgorithm
focal_class.modifiers: private
focal_class.parameters: (
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.signature:  HeaderBasedPlaceholderSubstitutionAlgorithm(
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithm.newInstance(
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.full_signature: public static HeaderBasedPlaceholderSubstitutionAlgorithm newInstance(
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.identifier: newInstance
focal_class.modifiers: public static
focal_class.parameters: (
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.return: HeaderBasedPlaceholderSubstitutionAlgorithm
focal_class.signature: HeaderBasedPlaceholderSubstitutionAlgorithm newInstance(
              final Map<String, Function<DittoHeaders, String>> replacementDefinitions)
focal_class.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithm.substitute(final String input, final WithDittoHeaders withDittoHeaders)
focal_class.full_signature: public String substitute(final String input, final WithDittoHeaders withDittoHeaders)
focal_class.identifier: substitute
focal_class.modifiers: public
focal_class.parameters: (final String input, final WithDittoHeaders withDittoHeaders)
focal_class.return: String
focal_class.signature: String substitute(final String input, final WithDittoHeaders withDittoHeaders)
focal_class.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithm.substitute(final String input, final DittoHeaders dittoHeaders)
focal_class.full_signature: public String substitute(final String input, final DittoHeaders dittoHeaders)
focal_class.identifier: substitute
focal_class.modifiers: public
focal_class.parameters: (final String input, final DittoHeaders dittoHeaders)
focal_class.return: String
focal_class.signature: String substitute(final String input, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithm.createReplacerFunction(final DittoHeaders dittoHeaders)
focal_class.full_signature: private Function<String, PipelineElement> createReplacerFunction(final DittoHeaders dittoHeaders)
focal_class.identifier: createReplacerFunction
focal_class.modifiers: private
focal_class.parameters: (final DittoHeaders dittoHeaders)
focal_class.return: Function<String, PipelineElement>
focal_class.signature: Function<String, PipelineElement> createReplacerFunction(final DittoHeaders dittoHeaders)
focal_method.body: public String substitute(final String input, final WithDittoHeaders withDittoHeaders) {
          requireNonNull(input);
          requireNonNull(withDittoHeaders);
  
          return substitute(input, withDittoHeaders.getDittoHeaders());
      }
focal_method.class_method_signature: HeaderBasedPlaceholderSubstitutionAlgorithm.substitute(final String input, final WithDittoHeaders withDittoHeaders)
focal_method.full_signature: public String substitute(final String input, final WithDittoHeaders withDittoHeaders)
focal_method.identifier: substitute
focal_method.invocations: requireNonNull requireNonNull substitute getDittoHeaders
focal_method.modifiers: public
focal_method.parameters: (final String input, final WithDittoHeaders withDittoHeaders)
focal_method.return: String
focal_method.signature: String substitute(final String input, final WithDittoHeaders withDittoHeaders)