use generics for more elegant code
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / commandline / parameterparser / parameter / IntegerParameter.java
index 6972149..ca8e06f 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * 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.
@@ -12,36 +12,25 @@ package eu.svjatoslav.commons.commandline.parameterparser.parameter;
 import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
 
-public class IntegerParameter extends Parameter {
+public class IntegerParameter extends Parameter<IntegerParameter> {
 
        public IntegerParameter(final String description) {
                super(description, ArgumentCount.SINGLE);
        }
 
-       @Override
-       public IntegerParameter addAliases(final String... aliasArray) {
-               super.addAliases(aliasArray);
-               return this;
-       }
-
        @Override
        public java.lang.String describeFormat() {
                return "integer";
        }
 
-       public int getValue() {
+       @Override
+       public Integer getValue() {
                if (arguments.size() != 1)
                        throw new RuntimeException("Parameter " + description
                                        + " shall have exactly 1 argument.");
                return Integer.parseInt(arguments.get(0));
        }
 
-       @Override
-       public IntegerParameter setMandatory() {
-               mandatory = true;
-               return this;
-       }
-
        @Override
        public boolean validate(final java.lang.String value) {
                try {
@@ -51,5 +40,4 @@ public class IntegerParameter extends Parameter {
                        return false;
                }
        }
-
 }