public T build(String classpathLocation) throws IOException, ConfigurationException { URL resource = Resources.getResource(klass, classpathLocation); InputStream in = resource.openConnection().getInputStream(); return build(new InputStreamReader(in, Charsets.UTF_8), resource.toString()); }
public static <T> ConfigurationFactory<T> forClass(Class<T> klass, Validator validator) { return forClass(klass, validator, ImmutableList.<Module>of()); }
public static <T> ConfigurationFactory<T> forClass(Class<T> klass, Validator validator, Iterable<Module> modules) { return new ConfigurationFactory<T>(klass, validator, modules); }
private T build(Reader reader, String location) throws IOException, ConfigurationException{ final JsonNode node = parse(reader, location); for (Map.Entry<Object, Object> pref : System.getProperties().entrySet()) { final String prefName = (String) pref.getKey(); if (prefName.startsWith(PROPERTY_PREFIX)) { final String configName = prefName.substring(PROPERTY_PREFIX.length()); addOverride(node, configName, System.getProperty(prefName)); } } final T config = json.readValue(node, klass); validate(location, config); return config; }
/** * Parse the configuration from the {@link File}. * * @param file the {@link File} containing the configuration. * @param configurationClass the configuration class * @param objectMapperFactory the {@link ObjectMapperFactory} to use * @return the configuration instance * @throws IOException * @throws ConfigurationException */ private T parseConfiguration(final File file, final Class<T> configurationClass, final ObjectMapperFactory objectMapperFactory) throws IOException, ConfigurationException { final ConfigurationFactory<T> configurationFactory = ConfigurationFactory.forClass(configurationClass, new Validator(), objectMapperFactory); if (file != null) { if (!file.exists()) { throw new FileNotFoundException("File " + file + " not found"); } return configurationFactory.build(file); } return configurationFactory.build(); }
public T build(File file) throws IOException, ConfigurationException { return build(new InputStreamReader(new FileInputStream(file), Charsets.UTF_8), file.getAbsolutePath()); }
public static <T> ConfigurationFactory<T> forClass(Class<T> klass) { return forClass(klass, new Validator()); }