
org.nakedobjects.runtime.options.standard.OptionHandlerConfiguration Maven / Gradle / Ivy
The newest version!
package org.nakedobjects.runtime.options.standard;
import static org.nakedobjects.runtime.options.Constants.CONFIGURATION_LONG_OPT;
import static org.nakedobjects.runtime.options.Constants.CONFIGURATION_OPT;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.nakedobjects.metamodel.config.ConfigurationBuilder;
import org.nakedobjects.metamodel.config.NotFoundPolicy;
import org.nakedobjects.runtime.options.BootPrinter;
import org.nakedobjects.runtime.options.Constants;
import org.nakedobjects.runtime.options.OptionHandlerAbstract;
import org.nakedobjects.runtime.system.SystemConstants;
public class OptionHandlerConfiguration extends OptionHandlerAbstract {
private String configurationResource;
public OptionHandlerConfiguration() {
super();
// TODO Auto-generated constructor stub
}
@SuppressWarnings("static-access")
public void addOption(Options options) {
Option option = OptionBuilder.withArgName("config file").hasArg().withLongOpt(CONFIGURATION_LONG_OPT).withDescription(
"read in configuration file (as well as nakedobjects.properties)").create(CONFIGURATION_OPT);
options.addOption(option);
}
public boolean handle(CommandLine commandLine, BootPrinter bootPrinter, Options options) {
configurationResource = commandLine.getOptionValue(Constants.CONFIGURATION_OPT);
return true;
}
public void primeConfigurationBuilder(
ConfigurationBuilder configurationBuilder) {
if (configurationResource == null) {
return;
}
configurationBuilder.addConfigurationResource(configurationResource, NotFoundPolicy.FAIL_FAST);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy