+++ /dev/null
-/*
- * 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<String, StringParameter> {
-
- 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
- public java.lang.String describeFormat() {
- return "string";
- }
-
- @Override
- public String getValue() {
-
- if (arguments.isEmpty() && (defaultValue != null)) return defaultValue;
-
- if (arguments.size() == 1) return arguments.get(0);
-
- throw new RuntimeException("Parameter " + description
- + " shall have exactly 1 argument.");
- }
-
- @Override
- public boolean validate(final java.lang.String value) {
- return true;
- }
-
-}