All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prompto.config.TargetConfiguration Maven / Gradle / Ivy

package prompto.config;

import java.util.function.Supplier;

public class TargetConfiguration implements ITargetConfiguration  {

	IConfigurationReader reader;
	Supplier dataStoreConfiguration;
	Supplier portRangeConfiguration;

	public TargetConfiguration(IConfigurationReader reader) {
		this.reader = reader;
		this.dataStoreConfiguration = ()->reader.readStoreConfiguration("dataStore");
		this.portRangeConfiguration = ()->readPortRangeConfiguration();
	}
	
	private IPortRangeConfiguration readPortRangeConfiguration() {
		IConfigurationReader child = reader.getObject("portRange");
		return child==null ? IPortRangeConfiguration.ANY_PORT : new PortRangeConfiguration(child);
	}

	@Override
	public IStoreConfiguration getDataStoreConfiguration() {
		return dataStoreConfiguration==null ? null : dataStoreConfiguration.get();
	}
	
	
	@Override
	public IPortRangeConfiguration getPortRangeConfiguration() {
		return portRangeConfiguration==null ? null : portRangeConfiguration.get();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy