X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=svjatoslav_commons.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2Fparameter%2FStringParameter.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2Fparameter%2FStringParameter.java;h=7a72cf3d626335f8f0501af7aff625f2731502b4;hp=fee7adbb500721d1ee8ef032b501ef7542e67ff1;hb=894153349df179c7495471c7d6de98688816401d;hpb=b0cad89d60cb2bc8261313ef0bd8f072e5807a92 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 fee7adb..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 @@ -9,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 @@ -21,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