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=e108417ef63648da6543e1b0cbc9c92904e33282;hpb=b34ba4499cfbca09bc794a810e460bf1c86dcd34;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 e108417..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,52 +1,45 @@ /* - * 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.parameter; import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount; import eu.svjatoslav.commons.commandline.parameterparser.Parameter; -public class StringParameter extends Parameter { +public class StringParameter extends Parameter { - public StringParameter(final String description) { - super(description, ArgumentCount.SINGLE); - } + public final String defaultValue; - @Override - public StringParameter addAliases(final String... aliasArray) { - super.addAliases(aliasArray); - return this; - } + 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 - public java.lang.String describeFormat() { - return "string"; - } + @Override + public java.lang.String describeFormat() { + return "string"; + } - public String getValue() { + @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; - return arguments.get(0); - } + if (arguments.size() == 1) return arguments.get(0); - @Override - public StringParameter setMandatory() { - mandatory = true; - return this; - } + throw new RuntimeException("Parameter " + description + + " shall have exactly 1 argument."); + } - @Override - public boolean validate(final java.lang.String value) { - return true; - } + @Override + public boolean validate(final java.lang.String value) { + return true; + } }