test_class.declarator: directory = new File("target/test/dir-" + UUID.randomUUID())
test_class.modifier: private final
test_class.original_string: private final File directory = new File("target/test/dir-" + UUID.randomUUID());
test_class.type: File
test_class.var_name: directory
test_class.file: action-controller/src/test/java/org/actioncontroller/config/ConfigMapTest.java
test_class.identifier: ConfigMapTest
test_case.body: @Test
      public void shouldHideSecretsInToString() {
          ConfigMap configMap = new ConfigMap("apps.appOne", Map.of(
                  "apps.appOne.clientId", "abc",
                  "apps.appOne.clientSecret", "my-secret",
                  "apps.appTwo.clientId", "xyz"
          ));
  
          assertThat(configMap.toString())
                  .contains("clientId=abc")
                  .contains("clientSecret=****")
                  .doesNotContain("my-secret")
                  .doesNotContain("xyz");
      }
test_case.class_method_signature: ConfigMapTest.shouldHideSecretsInToString()
test_case.full_signature: @Test public void shouldHideSecretsInToString()
test_case.identifier: shouldHideSecretsInToString
test_case.invocations: of doesNotContain doesNotContain contains contains assertThat toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldHideSecretsInToString()
focal_class.declarator: prefix
focal_class.modifier: private final
focal_class.original_string: private final String prefix;
focal_class.type: String
focal_class.var_name: prefix
focal_class.declarator: innerMap
focal_class.modifier: private final
focal_class.original_string: private final Map<String, String> innerMap;
focal_class.type: Map<String, String>
focal_class.var_name: innerMap
focal_class.file: action-controller/src/main/java/org/actioncontroller/config/ConfigMap.java
focal_class.identifier: ConfigMap
focal_class.class_method_signature: ConfigMap.read(File file)
focal_class.full_signature: public static ConfigMap read(File file)
focal_class.identifier: read
focal_class.modifiers: public static
focal_class.parameters: (File file)
focal_class.return: ConfigMap
focal_class.signature: ConfigMap read(File file)
focal_class.class_method_signature: ConfigMap.ConfigMap(String prefix, Map<String, String> innerMap)
focal_class.full_signature: public  ConfigMap(String prefix, Map<String, String> innerMap)
focal_class.identifier: ConfigMap
focal_class.modifiers: public
focal_class.parameters: (String prefix, Map<String, String> innerMap)
focal_class.signature:  ConfigMap(String prefix, Map<String, String> innerMap)
focal_class.class_method_signature: ConfigMap.ConfigMap(Map<String, String> innerMap)
focal_class.full_signature: public  ConfigMap(Map<String, String> innerMap)
focal_class.identifier: ConfigMap
focal_class.modifiers: public
focal_class.parameters: (Map<String, String> innerMap)
focal_class.signature:  ConfigMap(Map<String, String> innerMap)
focal_class.class_method_signature: ConfigMap.ConfigMap()
focal_class.full_signature: public  ConfigMap()
focal_class.identifier: ConfigMap
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  ConfigMap()
focal_class.class_method_signature: ConfigMap.ConfigMap(Properties properties)
focal_class.full_signature: public  ConfigMap(Properties properties)
focal_class.identifier: ConfigMap
focal_class.modifiers: public
focal_class.parameters: (Properties properties)
focal_class.signature:  ConfigMap(Properties properties)
focal_class.class_method_signature: ConfigMap.optional(Object key)
focal_class.full_signature: public Optional<String> optional(Object key)
focal_class.identifier: optional
focal_class.modifiers: public
focal_class.parameters: (Object key)
focal_class.return: Optional<String>
focal_class.signature: Optional<String> optional(Object key)
focal_class.class_method_signature: ConfigMap.get(Object key)
focal_class.full_signature: @Override public String get(Object key)
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: (Object key)
focal_class.return: String
focal_class.signature: String get(Object key)
focal_class.class_method_signature: ConfigMap.getOrDefault(Object key, String defaultValue)
focal_class.full_signature: @Override public String getOrDefault(Object key, String defaultValue)
focal_class.identifier: getOrDefault
focal_class.modifiers: @Override public
focal_class.parameters: (Object key, String defaultValue)
focal_class.return: String
focal_class.signature: String getOrDefault(Object key, String defaultValue)
focal_class.class_method_signature: ConfigMap.getBoolean(String key)
focal_class.full_signature: public boolean getBoolean(String key)
focal_class.identifier: getBoolean
focal_class.modifiers: public
focal_class.parameters: (String key)
focal_class.return: boolean
focal_class.signature: boolean getBoolean(String key)
focal_class.class_method_signature: ConfigMap.entrySet()
focal_class.full_signature: @Override @NonNull public Set<Entry<String, String>> entrySet()
focal_class.identifier: entrySet
focal_class.modifiers: @Override @NonNull public
focal_class.parameters: ()
focal_class.return: Set<Entry<String, String>>
focal_class.signature: Set<Entry<String, String>> entrySet()
focal_class.class_method_signature: ConfigMap.listSubMaps()
focal_class.full_signature: public Collection<String> listSubMaps()
focal_class.identifier: listSubMaps
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> listSubMaps()
focal_class.class_method_signature: ConfigMap.getRoot()
focal_class.full_signature: public ConfigMap getRoot()
focal_class.identifier: getRoot
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ConfigMap
focal_class.signature: ConfigMap getRoot()
focal_class.class_method_signature: ConfigMap.subMap(String prefix)
focal_class.full_signature: public Optional<ConfigMap> subMap(String prefix)
focal_class.identifier: subMap
focal_class.modifiers: public
focal_class.parameters: (String prefix)
focal_class.return: Optional<ConfigMap>
focal_class.signature: Optional<ConfigMap> subMap(String prefix)
focal_class.class_method_signature: ConfigMap.hasEnvironmentPrefix(String prefix)
focal_class.full_signature: private boolean hasEnvironmentPrefix(String prefix)
focal_class.identifier: hasEnvironmentPrefix
focal_class.modifiers: private
focal_class.parameters: (String prefix)
focal_class.return: boolean
focal_class.signature: boolean hasEnvironmentPrefix(String prefix)
focal_class.class_method_signature: ConfigMap.getInnerKey(Object key)
focal_class.full_signature: protected String getInnerKey(Object key)
focal_class.identifier: getInnerKey
focal_class.modifiers: protected
focal_class.parameters: (Object key)
focal_class.return: String
focal_class.signature: String getInnerKey(Object key)
focal_class.class_method_signature: ConfigMap.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: ConfigMap.toString(Entry<String, String> entry)
focal_class.full_signature: private String toString(Entry<String, String> entry)
focal_class.identifier: toString
focal_class.modifiers: private
focal_class.parameters: (Entry<String, String> entry)
focal_class.return: String
focal_class.signature: String toString(Entry<String, String> entry)
focal_class.superclass: extends AbstractMap<String, String>
focal_method.body: @Override
      public String toString() {
          String values = entrySet().stream().map(this::toString).collect(Collectors.joining(", "));
          return "ConfigMap{prefix=" + prefix + ", values={" + values + "}}";
      }
focal_method.class_method_signature: ConfigMap.toString()
focal_method.full_signature: @Override public String toString()
focal_method.identifier: toString
focal_method.invocations: collect map stream entrySet joining
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: String
focal_method.signature: String toString()