test_class.declarator: configurationReader
test_class.modifier: @Inject
      private
test_class.original_string: @Inject
      private ConfigurationReader configurationReader;
test_class.type: ConfigurationReader
test_class.var_name: configurationReader
test_class.file: artemis-configuration/src/test/java/org/jnosql/artemis/configuration/DefaultConfigurationReaderTest.java
test_class.identifier: DefaultConfigurationReaderTest
test_case.body: @Test
      public void shouldReturnErrorWhenThereIsNotDefaultConstructor() {
          Assertions.assertThrows(ConfigurationException.class, () -> {
              ConfigurationUnit annotation = mock(ConfigurationUnit.class);
              when(annotation.fileName()).thenReturn("invalid-class.json");
              when(annotation.name()).thenReturn("name-2");
              configurationReader.read(annotation, MockConfiguration.class);
          });
      }
test_case.class_method_signature: DefaultConfigurationReaderTest.shouldReturnErrorWhenThereIsNotDefaultConstructor()
test_case.full_signature: @Test public void shouldReturnErrorWhenThereIsNotDefaultConstructor()
test_case.identifier: shouldReturnErrorWhenThereIsNotDefaultConstructor
test_case.invocations: assertThrows mock thenReturn when fileName thenReturn when name read
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldReturnErrorWhenThereIsNotDefaultConstructor()
focal_class.declarator: META_INF = "META-INF/"
focal_class.modifier: private static final
focal_class.original_string: private static final String META_INF = "META-INF/";
focal_class.type: String
focal_class.var_name: META_INF
focal_class.declarator: WEB_INF = "WEB-INF/"
focal_class.modifier: private static final
focal_class.original_string: private static final String WEB_INF = "WEB-INF/";
focal_class.type: String
focal_class.var_name: WEB_INF
focal_class.declarator: LOGGER = Logger.getLogger(DefaultConfigurationReader.class.getName())
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = Logger.getLogger(DefaultConfigurationReader.class.getName());
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: reflections
focal_class.modifier: @Inject
      private
focal_class.original_string: @Inject
      private Reflections reflections;
focal_class.type: Reflections
focal_class.var_name: reflections
focal_class.declarator: readers
focal_class.modifier: @Inject
      @Any
      private
focal_class.original_string: @Inject
      @Any
      private Instance<ConfigurableReader> readers;
focal_class.type: Instance<ConfigurableReader>
focal_class.var_name: readers
focal_class.file: artemis-configuration/src/main/java/org/jnosql/artemis/configuration/DefaultConfigurationReader.java
focal_class.identifier: DefaultConfigurationReader
focal_class.interfaces: implements ConfigurationReader
focal_class.class_method_signature: DefaultConfigurationReader.read(ConfigurationUnit annotation, Class<T> configurationClass)
focal_class.full_signature: @Override public ConfigurationSettingsUnit read(ConfigurationUnit annotation, Class<T> configurationClass)
focal_class.identifier: read
focal_class.modifiers: @Override public
focal_class.parameters: (ConfigurationUnit annotation, Class<T> configurationClass)
focal_class.return: ConfigurationSettingsUnit
focal_class.signature: ConfigurationSettingsUnit read(ConfigurationUnit annotation, Class<T> configurationClass)
focal_class.class_method_signature: DefaultConfigurationReader.read(ConfigurationUnit annotation)
focal_class.full_signature: @Override public ConfigurationSettingsUnit read(ConfigurationUnit annotation)
focal_class.identifier: read
focal_class.modifiers: @Override public
focal_class.parameters: (ConfigurationUnit annotation)
focal_class.return: ConfigurationSettingsUnit
focal_class.signature: ConfigurationSettingsUnit read(ConfigurationUnit annotation)
focal_class.class_method_signature: DefaultConfigurationReader.getConfigurations(ConfigurationUnit annotation)
focal_class.full_signature: private List<Configurable> getConfigurations(ConfigurationUnit annotation)
focal_class.identifier: getConfigurations
focal_class.modifiers: private
focal_class.parameters: (ConfigurationUnit annotation)
focal_class.return: List<Configurable>
focal_class.signature: List<Configurable> getConfigurations(ConfigurationUnit annotation)
focal_class.class_method_signature: DefaultConfigurationReader.getSettings(Configurable configuration)
focal_class.full_signature: private Map<String, Object> getSettings(Configurable configuration)
focal_class.identifier: getSettings
focal_class.modifiers: private
focal_class.parameters: (Configurable configuration)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> getSettings(Configurable configuration)
focal_class.class_method_signature: DefaultConfigurationReader.getExtension(ConfigurationUnit annotation)
focal_class.full_signature: private String getExtension(ConfigurationUnit annotation)
focal_class.identifier: getExtension
focal_class.modifiers: private
focal_class.parameters: (ConfigurationUnit annotation)
focal_class.return: String
focal_class.signature: String getExtension(ConfigurationUnit annotation)
focal_class.class_method_signature: DefaultConfigurationReader.getProvider(Class<T> configurationClass, Configurable configuration)
focal_class.full_signature: private Class<?> getProvider(Class<T> configurationClass, Configurable configuration)
focal_class.identifier: getProvider
focal_class.modifiers: private
focal_class.parameters: (Class<T> configurationClass, Configurable configuration)
focal_class.return: Class<?>
focal_class.signature: Class<?> getProvider(Class<T> configurationClass, Configurable configuration)
focal_class.class_method_signature: DefaultConfigurationReader.getConfiguration(ConfigurationUnit annotation, List<Configurable> configurations)
focal_class.full_signature: private Configurable getConfiguration(ConfigurationUnit annotation, List<Configurable> configurations)
focal_class.identifier: getConfiguration
focal_class.modifiers: private
focal_class.parameters: (ConfigurationUnit annotation, List<Configurable> configurations)
focal_class.return: Configurable
focal_class.signature: Configurable getConfiguration(ConfigurationUnit annotation, List<Configurable> configurations)
focal_class.class_method_signature: DefaultConfigurationReader.readStream(ConfigurationUnit annotation)
focal_class.full_signature: private Supplier<InputStream> readStream(ConfigurationUnit annotation)
focal_class.identifier: readStream
focal_class.modifiers: private
focal_class.parameters: (ConfigurationUnit annotation)
focal_class.return: Supplier<InputStream>
focal_class.signature: Supplier<InputStream> readStream(ConfigurationUnit annotation)
focal_method.body: @Override
      public <T> ConfigurationSettingsUnit read(ConfigurationUnit annotation, Class<T> configurationClass) {
  
          requireNonNull(annotation, "annotation is required");
          requireNonNull(configurationClass, "configurationClass is required");
  
  
          List<Configurable> configurations = getConfigurations(annotation);
          Configurable configuration = getConfiguration(annotation, configurations);
  
          String name = configuration.getName();
          String description = configuration.getDescription();
          Map<String, Object> settings = getSettings(configuration);
          Class<?> provider = getProvider(configurationClass, configuration);
  
          return new DefaultConfigurationSettingsUnit(name, description, provider, Settings.of(settings));
      }
focal_method.class_method_signature: DefaultConfigurationReader.read(ConfigurationUnit annotation, Class<T> configurationClass)
focal_method.full_signature: @Override public ConfigurationSettingsUnit read(ConfigurationUnit annotation, Class<T> configurationClass)
focal_method.identifier: read
focal_method.invocations: requireNonNull requireNonNull getConfigurations getConfiguration getName getDescription getSettings getProvider of
focal_method.modifiers: @Override public
focal_method.parameters: (ConfigurationUnit annotation, Class<T> configurationClass)
focal_method.return: ConfigurationSettingsUnit
focal_method.signature: ConfigurationSettingsUnit read(ConfigurationUnit annotation, Class<T> configurationClass)