@Test public void getConfig_ShouldLoadDefaultsFromAnnotations() { TestConfig result = subject.getConfig(TestConfig.class); assertThat(result.variable()).isEqualTo("unassigned"); }
public <T extends Config> T getConfig(Class<T> type) { T config = ConfigFactory.create(type, props.toArray(new Map<?, ?>[0])); log.debug("{}: {}", type.getSimpleName(), config); return config; }
ConfigLoader { public <T extends Config> T getConfig(Class<T> type) { T config = ConfigFactory.create(type, props.toArray(new Map<?, ?>[0])); log.debug("{}: {}", type.getSimpleName(), config); return config; } }
ConfigLoader { public <T extends Config> T getConfig(Class<T> type) { T config = ConfigFactory.create(type, props.toArray(new Map<?, ?>[0])); log.debug("{}: {}", type.getSimpleName(), config); return config; }  }
ConfigLoader { public <T extends Config> T getConfig(Class<T> type) { T config = ConfigFactory.create(type, props.toArray(new Map<?, ?>[0])); log.debug("{}: {}", type.getSimpleName(), config); return config; }  T getConfig(Class<T> type); ConfigLoader loadDefaultsFromPropertiesFile(String filename); }
ConfigLoader { public <T extends Config> T getConfig(Class<T> type) { T config = ConfigFactory.create(type, props.toArray(new Map<?, ?>[0])); log.debug("{}: {}", type.getSimpleName(), config); return config; }  T getConfig(Class<T> type); ConfigLoader loadDefaultsFromPropertiesFile(String filename);  }