X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2Fparameter%2FStringParameter.java;h=7a72cf3d626335f8f0501af7aff625f2731502b4;hb=0bdce2e2b2c16cc9576e8d96c67ce2830c8b0afc;hp=19c4a4d3e94a66bc824c4a9268eb0cfcd86ea5cf;hpb=965adace2b47642e2ca84f499cc32683c12059c6;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/StringParameter.java b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/StringParameter.java index 19c4a4d..7a72cf3 100755 --- a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/StringParameter.java +++ b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/StringParameter.java @@ -1,12 +1,7 @@ /* - * Svjatoslav Commons - shared library of common functionality. - * Copyright ©2012-2019, 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.parameter; import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount; @@ -14,8 +9,16 @@ import eu.svjatoslav.commons.commandline.parameterparser.Parameter; public class StringParameter extends Parameter { + public final String defaultValue; + public StringParameter(final String description) { super(description, ArgumentCount.SINGLE); + defaultValue = null; + } + public StringParameter(final String description, String defaultValue) { + super(description, ArgumentCount.SINGLE); + this.defaultValue = defaultValue; + this.setSpecified(true); } @Override @@ -26,11 +29,12 @@ public class StringParameter extends Parameter { @Override public String getValue() { - if (arguments.size() != 1) - throw new RuntimeException("Parameter " + description - + " shall have exactly 1 argument."); + if (arguments.isEmpty() && (defaultValue != null)) return defaultValue; + + if (arguments.size() == 1) return arguments.get(0); - return arguments.get(0); + throw new RuntimeException("Parameter " + description + + " shall have exactly 1 argument."); } @Override