X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=svjatoslav_commons.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2FParser.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2FParser.java;h=0000000000000000000000000000000000000000;hp=e8e363811a2aa30ff14714b205de327cfbc118ce;hb=f3ca64a08930aa9a9372fe42df596b5e4643084e;hpb=0bdce2e2b2c16cc9576e8d96c67ce2830c8b0afc diff --git a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java deleted file mode 100755 index e8e3638..0000000 --- a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Svjatoslav Commons - shared library of common functionality. Author: Svjatoslav Agejenko. - * This project is released under Creative Commons Zero (CC0) license. - */ -package eu.svjatoslav.commons.commandline.parameterparser; - -import java.util.ArrayList; - -/** - *
- * Single commandline parameter can have any amount of arguments.
- * 
- */ -public class Parser { - - private final ArrayList> parameters = new ArrayList<>(); - - public E add(final E parameter) { - parameters.add(parameter); - return parameter; - } - - /** - * @return true if no errors were found. false - * otherwise. - */ - private boolean checkMandatoryArgumentsPresent() { - - for (final Parameter parameter : parameters) - if (parameter.isMandatory() && (!parameter.isSpecified())) { - System.out.println("Error! Mandatory parameter (" - + parameter.getAliases() + ") is not specified."); - return false; - } - - return true; - } - - /** - * Return parameter by given alias or null if no parameter - * exists for given alias. - * - * @param alias parameter alias - * @return found parameter or null if parameter was not found. - */ - public Parameter findParameterByAlias(final String alias) { - - for (final Parameter parameter : parameters) - if (parameter.matchesAlias(alias)) - return parameter; - - return null; - } - - /** - * @param args commandline arguments - * @return true if no errors were found. false - * otherwise. - */ - public boolean parse(final String[] args) { - - Parameter currentParameter = null; - - for (final String argument : args) { - - final Parameter parameterForAlias = findParameterByAlias(argument); - if (parameterForAlias == null) { - if (currentParameter == null) { - System.out.println("Unknown commandline parameter: " - + argument); - return false; - } - - if (!currentParameter.addArgument(argument)) - return false; - - } else { - if (currentParameter != null) - if (!currentParameter.noMoreArguments()) - return false; - - parameterForAlias.setSpecified(true); - currentParameter = parameterForAlias; - } - - } - - return checkMandatoryArgumentsPresent(); - } - - public void showHelp() { - System.out.println("Available commandline arguments:"); - for (final Parameter parameter : parameters) - System.out.println(parameter.getHelp()); - } - -}