com.tngtech.configbuilder.annotation.valueextractor.CommandLineValueProcessor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of config-builder Show documentation
Show all versions of config-builder Show documentation
The Config Builder creates fully configured instances of config classes, using values from various sources like properties files, command line arguments etc.
package com.tngtech.configbuilder.annotation.valueextractor;
import com.tngtech.configbuilder.configuration.BuilderConfiguration;
import com.tngtech.configbuilder.util.ConfigBuilderFactory;
import org.apache.commons.cli.CommandLine;
import java.lang.annotation.Annotation;
/**
* Processes CommandLineValue annotations, implements ValueExtractorProcessor
*/
public class CommandLineValueProcessor implements ValueExtractorProcessor {
public String getValue(Annotation annotation, ConfigBuilderFactory configBuilderFactory) {
CommandLine commandLine = configBuilderFactory.getInstance(BuilderConfiguration.class).getCommandLine();
CommandLineValue commandLineValue = (CommandLineValue) annotation;
if (commandLineValue.hasArg()) {
return commandLine.getOptionValue(commandLineValue.shortOpt());
} else {
boolean hasOption = commandLine.hasOption(commandLineValue.shortOpt()) || commandLine.hasOption(commandLineValue.longOpt());
return String.valueOf(hasOption);
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy