more usable commandline parser API
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / commandline / parameterparser / parameter / IntegerParameter.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 import eu.svjatoslav.commons.commandline.parameterparser.type.IntegerArgument;
6
7 public class IntegerParameter extends Parameter {
8
9         public IntegerParameter(final String description) {
10                 super(new IntegerArgument(), description, ArgumentCount.SINGLE);
11         }
12
13         @Override
14         public IntegerParameter addAliases(final String... aliasArray) {
15                 super.addAliases(aliasArray);
16                 return this;
17         }
18
19         public int getValue() {
20                 if (arguments.size() != 1)
21                         throw new RuntimeException("Parameter " + description
22                                         + " shall have exactly 1 argument.");
23                 return Integer.parseInt(arguments.get(0));
24         }
25
26         @Override
27         public IntegerParameter setMandatory() {
28                 mandatory = true;
29                 return this;
30         }
31 }