possibility to set matching pattern
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / commandline / parameterparser / parameter / StringParameter.java
1 package eu.svjatoslav.commons.commandline.parameterparser.parameter;
2
3 import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
4 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
5
6 public class StringParameter extends Parameter {
7
8         public StringParameter(final String description) {
9                 super(description, ArgumentCount.SINGLE);
10         }
11
12         @Override
13         public StringParameter addAliases(final String... aliasArray) {
14                 super.addAliases(aliasArray);
15                 return this;
16         }
17
18         public String getValue() {
19
20                 if (arguments.size() != 1)
21                         throw new RuntimeException("Parameter " + description
22                                         + " shall have exactly 1 argument.");
23
24                 return arguments.get(0);
25         }
26
27         @Override
28         public StringParameter setMandatory() {
29                 mandatory = true;
30                 return this;
31         }
32
33         @Override
34         public java.lang.String describeFormat() {
35                 return "string";
36         }
37
38         @Override
39         public boolean validate(final java.lang.String value) {
40                 return true;
41         }
42
43 }