test_class.declarator: configurationLoader
test_class.modifier: private
test_class.original_string: private MockConfigurationLoader<TestConfig> configurationLoader;
test_class.type: MockConfigurationLoader<TestConfig>
test_class.var_name: configurationLoader
test_class.file: Common/src/test/java/com/heroslender/ethos/ConfigurationLoaderTest.java
test_class.identifier: ConfigurationLoaderTest
test_case.body: @Test
      public void configurationLoaderShouldInitializeClass() {
          TestConfig config = configurationLoader.initClass();
  
          assertNotNull(config);
          assertNull(config.name);
      }
test_case.class_method_signature: ConfigurationLoaderTest.configurationLoaderShouldInitializeClass()
test_case.full_signature: @Test public void configurationLoaderShouldInitializeClass()
test_case.identifier: configurationLoaderShouldInitializeClass
test_case.invocations: initClass assertNotNull assertNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void configurationLoaderShouldInitializeClass()
focal_class.declarator: logger = Logger.getLogger(getClass().getSimpleName())
focal_class.modifier: private final
focal_class.original_string: private final Logger logger = Logger.getLogger(getClass().getSimpleName());
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: config
focal_class.modifier: private final
focal_class.original_string: private final C config;
focal_class.type: C
focal_class.var_name: config
focal_class.declarator: saveConfig
focal_class.modifier: private final
focal_class.original_string: private final Runnable saveConfig;
focal_class.type: Runnable
focal_class.var_name: saveConfig
focal_class.declarator: clazz
focal_class.modifier: private final
focal_class.original_string: private final Class<T> clazz;
focal_class.type: Class<T>
focal_class.var_name: clazz
focal_class.file: Common/src/main/java/com/heroslender/ethos/ConfigurationLoader.java
focal_class.identifier: ConfigurationLoader
focal_class.class_method_signature: ConfigurationLoader.ConfigurationLoader(@NotNull C config, Runnable saveConfig, @NotNull Class<T> clazz)
focal_class.full_signature: protected  ConfigurationLoader(@NotNull C config, Runnable saveConfig, @NotNull Class<T> clazz)
focal_class.identifier: ConfigurationLoader
focal_class.modifiers: protected
focal_class.parameters: (@NotNull C config, Runnable saveConfig, @NotNull Class<T> clazz)
focal_class.signature:  ConfigurationLoader(@NotNull C config, Runnable saveConfig, @NotNull Class<T> clazz)
focal_class.class_method_signature: ConfigurationLoader.save(@NotNull Object instance)
focal_class.full_signature: public void save(@NotNull Object instance)
focal_class.identifier: save
focal_class.modifiers: public
focal_class.parameters: (@NotNull Object instance)
focal_class.return: void
focal_class.signature: void save(@NotNull Object instance)
focal_class.class_method_signature: ConfigurationLoader.load()
focal_class.full_signature: public T load()
focal_class.identifier: load
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T load()
focal_class.class_method_signature: ConfigurationLoader.saveField(@NotNull final Field field, @NotNull final Object instance)
focal_class.full_signature: protected void saveField(@NotNull final Field field, @NotNull final Object instance)
focal_class.identifier: saveField
focal_class.modifiers: protected
focal_class.parameters: (@NotNull final Field field, @NotNull final Object instance)
focal_class.return: void
focal_class.signature: void saveField(@NotNull final Field field, @NotNull final Object instance)
focal_class.class_method_signature: ConfigurationLoader.loadField(@NotNull final Field field, @NotNull final Object instance)
focal_class.full_signature: protected void loadField(@NotNull final Field field, @NotNull final Object instance)
focal_class.identifier: loadField
focal_class.modifiers: protected
focal_class.parameters: (@NotNull final Field field, @NotNull final Object instance)
focal_class.return: void
focal_class.signature: void loadField(@NotNull final Field field, @NotNull final Object instance)
focal_class.class_method_signature: ConfigurationLoader.getConfigValue(AnnotatedField field, @Nullable Object defaultValue)
focal_class.full_signature: public abstract Object getConfigValue(AnnotatedField field, @Nullable Object defaultValue)
focal_class.identifier: getConfigValue
focal_class.modifiers: public abstract
focal_class.parameters: (AnnotatedField field, @Nullable Object defaultValue)
focal_class.return: Object
focal_class.signature: Object getConfigValue(AnnotatedField field, @Nullable Object defaultValue)
focal_class.class_method_signature: ConfigurationLoader.setConfigValue(AnnotatedField field, @Nullable Object value)
focal_class.full_signature: public abstract void setConfigValue(AnnotatedField field, @Nullable Object value)
focal_class.identifier: setConfigValue
focal_class.modifiers: public abstract
focal_class.parameters: (AnnotatedField field, @Nullable Object value)
focal_class.return: void
focal_class.signature: void setConfigValue(AnnotatedField field, @Nullable Object value)
focal_class.class_method_signature: ConfigurationLoader.initClass()
focal_class.full_signature: @Nullable protected T initClass()
focal_class.identifier: initClass
focal_class.modifiers: @Nullable protected
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T initClass()
focal_class.class_method_signature: ConfigurationLoader.registerTypeAdapter(TypeAdapter<?> typeAdapter)
focal_class.full_signature: public abstract void registerTypeAdapter(TypeAdapter<?> typeAdapter)
focal_class.identifier: registerTypeAdapter
focal_class.modifiers: public abstract
focal_class.parameters: (TypeAdapter<?> typeAdapter)
focal_class.return: void
focal_class.signature: void registerTypeAdapter(TypeAdapter<?> typeAdapter)
focal_class.class_method_signature: ConfigurationLoader.getLogger()
focal_class.full_signature: public Logger getLogger()
focal_class.identifier: getLogger
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Logger
focal_class.signature: Logger getLogger()
focal_class.class_method_signature: ConfigurationLoader.getConfig()
focal_class.full_signature: public C getConfig()
focal_class.identifier: getConfig
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: C
focal_class.signature: C getConfig()
focal_class.class_method_signature: ConfigurationLoader.getSaveConfig()
focal_class.full_signature: public Runnable getSaveConfig()
focal_class.identifier: getSaveConfig
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Runnable
focal_class.signature: Runnable getSaveConfig()
focal_class.class_method_signature: ConfigurationLoader.getClazz()
focal_class.full_signature: public Class<T> getClazz()
focal_class.identifier: getClazz
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Class<T>
focal_class.signature: Class<T> getClazz()
focal_method.body: @Nullable
      protected T initClass() {
          T instance = null;
          try {
              final Constructor<T> constructor = getClazz().getDeclaredConstructor();
              constructor.setAccessible(true);
  
              instance = constructor.newInstance();
          } catch (NoSuchMethodException e) {
              getLogger().log(Level.SEVERE, e, () -> "Couldn't find the default constructor for the class " + clazz.getSimpleName());
          } catch (IllegalAccessException | InstantiationException e) {
              getLogger().log(Level.SEVERE, e, () -> "Failed to initialize the class " + clazz.getSimpleName());
          } catch (InvocationTargetException e) {
              getLogger().log(Level.SEVERE, e.getCause(), () -> "An exception was thrown when trying to initialize the class " + clazz.getSimpleName());
          }
  
          return instance;
      }
focal_method.class_method_signature: ConfigurationLoader.initClass()
focal_method.full_signature: @Nullable protected T initClass()
focal_method.identifier: initClass
focal_method.invocations: getDeclaredConstructor getClazz setAccessible newInstance log getLogger getSimpleName log getLogger getSimpleName log getLogger getCause getSimpleName
focal_method.modifiers: @Nullable protected
focal_method.parameters: ()
focal_method.return: T
focal_method.signature: T initClass()