X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2FParser.java;h=e8e363811a2aa30ff14714b205de327cfbc118ce;hb=b91077678c2a0af17a2f852c0b3901813837117a;hp=63a95f9d8b97920aba1d12249c27b8641534bf55;hpb=9bf004ce4e9b5edff36c65fcc8cc0f303390d7fc;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java index 63a95f9..e8e3638 100755 --- a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java +++ b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/Parser.java @@ -1,12 +1,7 @@ /* - * Svjatoslav Commons - shared library of common functionality. - * Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 3 of the GNU Lesser General Public License - * or later as published by the Free Software Foundation. + * 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; @@ -18,9 +13,9 @@ import java.util.ArrayList; */ public class Parser { - private final ArrayList> parameters = new ArrayList<>(); + private final ArrayList> parameters = new ArrayList<>(); - public > E add(final E parameter) { + public E add(final E parameter) { parameters.add(parameter); return parameter; } @@ -31,8 +26,8 @@ public class Parser { */ private boolean checkMandatoryArgumentsPresent() { - for (final Parameter parameter : parameters) - if (parameter.isMandatory() && (!parameter.isParameterSpecified())) { + for (final Parameter parameter : parameters) + if (parameter.isMandatory() && (!parameter.isSpecified())) { System.out.println("Error! Mandatory parameter (" + parameter.getAliases() + ") is not specified."); return false; @@ -48,9 +43,9 @@ public class Parser { * @param alias parameter alias * @return found parameter or null if parameter was not found. */ - public Parameter findParameterByAlias(final String alias) { + public Parameter findParameterByAlias(final String alias) { - for (final Parameter parameter : parameters) + for (final Parameter parameter : parameters) if (parameter.matchesAlias(alias)) return parameter; @@ -64,11 +59,11 @@ public class Parser { */ public boolean parse(final String[] args) { - Parameter currentParameter = null; + Parameter currentParameter = null; for (final String argument : args) { - final Parameter parameterForAlias = findParameterByAlias(argument); + final Parameter parameterForAlias = findParameterByAlias(argument); if (parameterForAlias == null) { if (currentParameter == null) { System.out.println("Unknown commandline parameter: " @@ -84,7 +79,7 @@ public class Parser { if (!currentParameter.noMoreArguments()) return false; - parameterForAlias.setParameterSpecified(true); + parameterForAlias.setSpecified(true); currentParameter = parameterForAlias; } @@ -94,7 +89,8 @@ public class Parser { } public void showHelp() { - for (final Parameter parameter : parameters) + System.out.println("Available commandline arguments:"); + for (final Parameter parameter : parameters) System.out.println(parameter.getHelp()); }