use generics for more elegant code
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / commandline / parameterparser / parameter / StringParameter.java
1 /*
2  * Svjatoslav Commons - shared library of common functionality.
3  * Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of version 3 of the GNU Lesser General Public License
7  * or later as published by the Free Software Foundation.
8  */
9
10 package eu.svjatoslav.commons.commandline.parameterparser.parameter;
11
12 import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
13 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
14
15 public class StringParameter extends Parameter<StringParameter> {
16
17         public StringParameter(final String description) {
18                 super(description, ArgumentCount.SINGLE);
19         }
20
21         @Override
22         public java.lang.String describeFormat() {
23                 return "string";
24         }
25
26         @Override
27         public String getValue() {
28
29                 if (arguments.size() != 1)
30                         throw new RuntimeException("Parameter " + description
31                                         + " shall have exactly 1 argument.");
32
33                 return arguments.get(0);
34         }
35
36         @Override
37         public boolean validate(final java.lang.String value) {
38                 return true;
39         }
40
41 }