test_class.file: clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java
test_class.identifier: ConfigDefTest
test_case.body: @Test
      public void testSslPasswords() {
          ConfigDef def = new ConfigDef();
          SslConfigs.addClientSslSupport(def);
  
          Properties props = new Properties();
          props.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, "key_password");
          props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, "keystore_password");
          props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, "truststore_password");
  
          Map<String, Object> vals = def.parse(props);
          assertEquals(new Password("key_password"), vals.get(SslConfigs.SSL_KEY_PASSWORD_CONFIG));
          assertEquals(Password.HIDDEN, vals.get(SslConfigs.SSL_KEY_PASSWORD_CONFIG).toString());
          assertEquals(new Password("keystore_password"), vals.get(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG));
          assertEquals(Password.HIDDEN, vals.get(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG).toString());
          assertEquals(new Password("truststore_password"), vals.get(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG));
          assertEquals(Password.HIDDEN, vals.get(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG).toString());
      }
test_case.class_method_signature: ConfigDefTest.testSslPasswords()
test_case.full_signature: @Test public void testSslPasswords()
test_case.identifier: testSslPasswords
test_case.invocations: addClientSslSupport put put put parse assertEquals get assertEquals toString get assertEquals get assertEquals toString get assertEquals get assertEquals toString get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSslPasswords()
focal_class.declarator: NO_DEFAULT_VALUE = new String("")
focal_class.modifier: public static final
focal_class.original_string: public static final Object NO_DEFAULT_VALUE = new String("");
focal_class.type: Object
focal_class.var_name: NO_DEFAULT_VALUE
focal_class.declarator: configKeys = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, ConfigKey> configKeys = new HashMap<>();
focal_class.type: Map<String, ConfigKey>
focal_class.var_name: configKeys
focal_class.declarator: groups = new LinkedList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<String> groups = new LinkedList<>();
focal_class.type: List<String>
focal_class.var_name: groups
focal_class.declarator: configsWithNoParent
focal_class.modifier: private
focal_class.original_string: private Set<String> configsWithNoParent;
focal_class.type: Set<String>
focal_class.var_name: configsWithNoParent
focal_class.file: clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java
focal_class.identifier: ConfigDef
focal_class.class_method_signature: ConfigDef.names()
focal_class.full_signature: public Set<String> names()
focal_class.identifier: names
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> names()
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, List<String> dependents)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName, Recommender recommender)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation,
                              String group, int orderInGroup, Width width, String displayName)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.full_signature: public ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents, Recommender recommender)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents)
focal_class.full_signature: public ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, List<String> dependents)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, Recommender recommender)
focal_class.full_signature: public ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, Recommender recommender)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, Recommender recommender)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName, Recommender recommender)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName)
focal_class.full_signature: public ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Importance importance, String documentation, String group, int orderInGroup,
                              Width width, String displayName)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Object defaultValue, Importance importance, String documentation)
focal_class.full_signature: public ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Object defaultValue, Importance importance, String documentation)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Object defaultValue, Importance importance, String documentation)
focal_class.class_method_signature: ConfigDef.define(String name, Type type, Importance importance, String documentation)
focal_class.full_signature: public ConfigDef define(String name, Type type, Importance importance, String documentation)
focal_class.identifier: define
focal_class.modifiers: public
focal_class.parameters: (String name, Type type, Importance importance, String documentation)
focal_class.return: ConfigDef
focal_class.signature: ConfigDef define(String name, Type type, Importance importance, String documentation)
focal_class.class_method_signature: ConfigDef.configKeys()
focal_class.full_signature: public Map<String, ConfigKey> configKeys()
focal_class.identifier: configKeys
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, ConfigKey>
focal_class.signature: Map<String, ConfigKey> configKeys()
focal_class.class_method_signature: ConfigDef.groups()
focal_class.full_signature: public List<String> groups()
focal_class.identifier: groups
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> groups()
focal_class.class_method_signature: ConfigDef.withClientSslSupport()
focal_class.full_signature: public ConfigDef withClientSslSupport()
focal_class.identifier: withClientSslSupport
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ConfigDef
focal_class.signature: ConfigDef withClientSslSupport()
focal_class.class_method_signature: ConfigDef.withClientSaslSupport()
focal_class.full_signature: public ConfigDef withClientSaslSupport()
focal_class.identifier: withClientSaslSupport
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ConfigDef
focal_class.signature: ConfigDef withClientSaslSupport()
focal_class.class_method_signature: ConfigDef.parse(Map<?, ?> props)
focal_class.full_signature: public Map<String, Object> parse(Map<?, ?> props)
focal_class.identifier: parse
focal_class.modifiers: public
focal_class.parameters: (Map<?, ?> props)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> parse(Map<?, ?> props)
focal_class.class_method_signature: ConfigDef.validate(Map<String, String> props)
focal_class.full_signature: public List<ConfigValue> validate(Map<String, String> props)
focal_class.identifier: validate
focal_class.modifiers: public
focal_class.parameters: (Map<String, String> props)
focal_class.return: List<ConfigValue>
focal_class.signature: List<ConfigValue> validate(Map<String, String> props)
focal_class.class_method_signature: ConfigDef.parseForValidate(Map<String, String> props, Map<String, ConfigValue> configValues)
focal_class.full_signature:  Map<String, Object> parseForValidate(Map<String, String> props, Map<String, ConfigValue> configValues)
focal_class.identifier: parseForValidate
focal_class.parameters: (Map<String, String> props, Map<String, ConfigValue> configValues)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> parseForValidate(Map<String, String> props, Map<String, ConfigValue> configValues)
focal_class.class_method_signature: ConfigDef.validate(Map<String, Object> parsed, Map<String, ConfigValue> configValues)
focal_class.full_signature: private List<ConfigValue> validate(Map<String, Object> parsed, Map<String, ConfigValue> configValues)
focal_class.identifier: validate
focal_class.modifiers: private
focal_class.parameters: (Map<String, Object> parsed, Map<String, ConfigValue> configValues)
focal_class.return: List<ConfigValue>
focal_class.signature: List<ConfigValue> validate(Map<String, Object> parsed, Map<String, ConfigValue> configValues)
focal_class.class_method_signature: ConfigDef.undefinedDependentConfigs()
focal_class.full_signature: private List<String> undefinedDependentConfigs()
focal_class.identifier: undefinedDependentConfigs
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> undefinedDependentConfigs()
focal_class.class_method_signature: ConfigDef.getConfigsWithNoParent()
focal_class.full_signature: private Set<String> getConfigsWithNoParent()
focal_class.identifier: getConfigsWithNoParent
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getConfigsWithNoParent()
focal_class.class_method_signature: ConfigDef.parseForValidate(String name, Map<String, String> props, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.full_signature: private void parseForValidate(String name, Map<String, String> props, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.identifier: parseForValidate
focal_class.modifiers: private
focal_class.parameters: (String name, Map<String, String> props, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.return: void
focal_class.signature: void parseForValidate(String name, Map<String, String> props, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.class_method_signature: ConfigDef.validate(String name, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.full_signature: @SuppressWarnings("unchecked") private void validate(String name, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.identifier: validate
focal_class.modifiers: @SuppressWarnings("unchecked") private
focal_class.parameters: (String name, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.return: void
focal_class.signature: void validate(String name, Map<String, Object> parsed, Map<String, ConfigValue> configs)
focal_class.class_method_signature: ConfigDef.parseType(String name, Object value, Type type)
focal_class.full_signature: private Object parseType(String name, Object value, Type type)
focal_class.identifier: parseType
focal_class.modifiers: private
focal_class.parameters: (String name, Object value, Type type)
focal_class.return: Object
focal_class.signature: Object parseType(String name, Object value, Type type)
focal_class.class_method_signature: ConfigDef.convertToString(Object parsedValue, Type type)
focal_class.full_signature: public static String convertToString(Object parsedValue, Type type)
focal_class.identifier: convertToString
focal_class.modifiers: public static
focal_class.parameters: (Object parsedValue, Type type)
focal_class.return: String
focal_class.signature: String convertToString(Object parsedValue, Type type)
focal_class.class_method_signature: ConfigDef.toHtmlTable()
focal_class.full_signature: public String toHtmlTable()
focal_class.identifier: toHtmlTable
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toHtmlTable()
focal_class.class_method_signature: ConfigDef.toRst()
focal_class.full_signature: public String toRst()
focal_class.identifier: toRst
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toRst()
focal_class.class_method_signature: ConfigDef.sortedConfigs()
focal_class.full_signature: private List<ConfigKey> sortedConfigs()
focal_class.identifier: sortedConfigs
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: List<ConfigKey>
focal_class.signature: List<ConfigKey> sortedConfigs()
focal_method.body: public Map<String, Object> parse(Map<?, ?> props) {
          // Check all configurations are defined
          List<String> undefinedConfigKeys = undefinedDependentConfigs();
          if (!undefinedConfigKeys.isEmpty()) {
              String joined = Utils.join(undefinedConfigKeys, ",");
              throw new ConfigException("Some configurations in are referred in the dependents, but not defined: " + joined);
          }
          // parse all known keys
          Map<String, Object> values = new HashMap<>();
          for (ConfigKey key : configKeys.values()) {
              Object value;
              // props map contains setting - assign ConfigKey value
              if (props.containsKey(key.name)) {
                  value = parseType(key.name, props.get(key.name), key.type);
                  // props map doesn't contain setting, the key is required because no default value specified - its an error
              } else if (key.defaultValue == NO_DEFAULT_VALUE) {
                  throw new ConfigException("Missing required configuration \"" + key.name + "\" which has no default value.");
              } else {
                  // otherwise assign setting its default value
                  value = key.defaultValue;
              }
              if (key.validator != null) {
                  key.validator.ensureValid(key.name, value);
              }
              values.put(key.name, value);
          }
          return values;
      }
focal_method.class_method_signature: ConfigDef.parse(Map<?, ?> props)
focal_method.full_signature: public Map<String, Object> parse(Map<?, ?> props)
focal_method.identifier: parse
focal_method.invocations: undefinedDependentConfigs isEmpty join values containsKey parseType get ensureValid put
focal_method.modifiers: public
focal_method.parameters: (Map<?, ?> props)
focal_method.return: Map<String, Object>
focal_method.signature: Map<String, Object> parse(Map<?, ?> props)