public Builder maxDistance(final Number distance) { if (null != distance) this.configuration.setProperty(MAX_DISTANCE, distance); else this.configuration.clearProperty(MAX_DISTANCE); return this; }
public Builder maxDistance(final Number distance) { if (null != distance) this.configuration.setProperty(MAX_DISTANCE, distance); else this.configuration.clearProperty(MAX_DISTANCE); return this; }
@Override public void clearProperty(String key) { synchronized (reloadLock) { super.clearProperty(key); possiblySave(); } }
@Override public void clearProperty(String key) { synchronized (reloadLock) { super.clearProperty(key); possiblySave(); } }
public ConfigurationData<M> loadConfiguration(Configuration fileConfiguration) { BaseConfiguration configuration = new BaseConfiguration(); configuration.copy(fileConfiguration); // Remove module data from config Iterator<String> moduleKeys = configuration.getKeys("modules."); while (moduleKeys.hasNext()) { configuration.clearProperty(moduleKeys.next()); } List<M> modules = Lists.newArrayList(); Set<String> moduleIds = Sets.newLinkedHashSet(); for (String moduleKey : Iterators.toArray(fileConfiguration.getKeys(MODULES_KEY), String.class)) { Matcher matcher = MODULE_ID_MATCHER.matcher(moduleKey); if (!matcher.matches()) { throw new PrideException("Invalid module setting: " + moduleKey); } String moduleId = matcher.group(1); moduleIds.add(moduleId); } for (String moduleId : moduleIds) { String prefix = MODULES_KEY + "." + moduleId; M module = loadModule(fileConfiguration, prefix); modules.add(module); } return new ConfigurationData<M>(configuration, modules); }