test_class.file: ljcm-core/src/test/java/io/github/leberkleber/ljcm/ConfigurationProcessorBuilderTest.java
test_class.identifier: ConfigurationProcessorBuilderTest
test_case.body: @Test
      public void build() throws NoSuchFieldException, IllegalAccessException {
          ConfigurationLoader configurationLoader = new ConfigurationLoaderDummyImpl("test.test", "Value");
          ConfigurationParser configurationParser1 = new ConfigurationParserDummyImpl(String.class);
          ConfigurationParser configurationParser2 = new ConfigurationParserDummy2Impl(Long.class);
          ConfigurationProcessor configurationProcessor = new ConfigurationProcessorBuilder()
                  .setConfigurationLoader(configurationLoader)
                  .addConfigurationParser(configurationParser1)
                  .addConfigurationParser(configurationParser2)
                  .build();
  
  
          Properties properties =
                  (Properties)RefelctionTestUtils.getFieldValue(configurationProcessor, "configurations");
          Map<String, ConfigurationParser> configurationParsers =
                  (Map<String, ConfigurationParser>)RefelctionTestUtils.getFieldValue(configurationProcessor, "configurationParsers");
  
  
          assertNotNull(properties);
          assertEquals(properties.get("test.test"), "Value");
  
          assertNotNull(configurationParsers);
          assertEquals(configurationParsers.size(), 2);
          assertEquals(configurationParsers.get(String.class).getClass().getTypeName(),
                  ConfigurationParserDummyImpl.class.getTypeName());
          assertEquals(configurationParsers.get(Long.class).getClass().getTypeName(),
                  ConfigurationParserDummy2Impl.class.getTypeName());
      }
test_case.class_method_signature: ConfigurationProcessorBuilderTest.build()
test_case.full_signature: @Test public void build()
test_case.identifier: build
test_case.invocations: build addConfigurationParser addConfigurationParser setConfigurationLoader getFieldValue getFieldValue assertNotNull assertEquals get assertNotNull assertEquals size assertEquals getTypeName getClass get getTypeName assertEquals getTypeName getClass get getTypeName
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void build()
focal_class.declarator: LOGGER = Logger.getLogger(ConfigurationProcessorBuilder.class.getName())
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = Logger.getLogger(ConfigurationProcessorBuilder.class.getName());
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: configurationLoader
focal_class.modifier: private
focal_class.original_string: private ConfigurationLoader configurationLoader;
focal_class.type: ConfigurationLoader
focal_class.var_name: configurationLoader
focal_class.declarator: configurationParsers
focal_class.modifier: private
focal_class.original_string: private List<ConfigurationParser> configurationParsers;
focal_class.type: List<ConfigurationParser>
focal_class.var_name: configurationParsers
focal_class.file: ljcm-core/src/main/java/io/github/leberkleber/ljcm/ConfigurationProcessorBuilder.java
focal_class.identifier: ConfigurationProcessorBuilder
focal_class.class_method_signature: ConfigurationProcessorBuilder.ConfigurationProcessorBuilder()
focal_class.full_signature: public  ConfigurationProcessorBuilder()
focal_class.identifier: ConfigurationProcessorBuilder
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  ConfigurationProcessorBuilder()
focal_class.class_method_signature: ConfigurationProcessorBuilder.addConfigurationParser(ConfigurationParser configurationParser)
focal_class.full_signature: public ConfigurationProcessorBuilder addConfigurationParser(ConfigurationParser configurationParser)
focal_class.identifier: addConfigurationParser
focal_class.modifiers: public
focal_class.parameters: (ConfigurationParser configurationParser)
focal_class.return: ConfigurationProcessorBuilder
focal_class.signature: ConfigurationProcessorBuilder addConfigurationParser(ConfigurationParser configurationParser)
focal_class.class_method_signature: ConfigurationProcessorBuilder.addConfigurationParsers(List<ConfigurationParser> configurationParsers)
focal_class.full_signature: public ConfigurationProcessorBuilder addConfigurationParsers(List<ConfigurationParser> configurationParsers)
focal_class.identifier: addConfigurationParsers
focal_class.modifiers: public
focal_class.parameters: (List<ConfigurationParser> configurationParsers)
focal_class.return: ConfigurationProcessorBuilder
focal_class.signature: ConfigurationProcessorBuilder addConfigurationParsers(List<ConfigurationParser> configurationParsers)
focal_class.class_method_signature: ConfigurationProcessorBuilder.setConfigurationLoader(ConfigurationLoader configurationLoader)
focal_class.full_signature: public ConfigurationProcessorBuilder setConfigurationLoader(ConfigurationLoader configurationLoader)
focal_class.identifier: setConfigurationLoader
focal_class.modifiers: public
focal_class.parameters: (ConfigurationLoader configurationLoader)
focal_class.return: ConfigurationProcessorBuilder
focal_class.signature: ConfigurationProcessorBuilder setConfigurationLoader(ConfigurationLoader configurationLoader)
focal_class.class_method_signature: ConfigurationProcessorBuilder.build()
focal_class.full_signature: public ConfigurationProcessor build()
focal_class.identifier: build
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ConfigurationProcessor
focal_class.signature: ConfigurationProcessor build()
focal_method.body: public ConfigurationProcessor build() {
          Properties configurations = configurationLoader.loadConfigurations();
          Map<Class, ConfigurationParser> mappedConfigurationParsers = new HashMap<>();
  
          for (ConfigurationParser configurationParser : configurationParsers) {
              Set<Class> responsibleClasses = configurationParser.getResponsibleClasses();
  
              for (Class clazz : responsibleClasses) {
                  mappedConfigurationParsers.put(clazz, configurationParser);
  
                  LOGGER.fine(MessageFormat.format("''{0}'' mapped on ''{1}''",
                          clazz.getTypeName(),
                          configurationParser.getClass().getTypeName()));
              }
          }
  
          LOGGER.finest(MessageFormat.format("Available configurations: {0}",
                  configurations.toString()));
  
          return new ConfigurationProcessor(configurations, mappedConfigurationParsers);
      }
focal_method.class_method_signature: ConfigurationProcessorBuilder.build()
focal_method.full_signature: public ConfigurationProcessor build()
focal_method.identifier: build
focal_method.invocations: loadConfigurations getResponsibleClasses put fine format getTypeName getTypeName getClass finest format toString
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: ConfigurationProcessor
focal_method.signature: ConfigurationProcessor build()