summaryrefslogtreecommitdiffstats
path: root/Essentials/src/net/ess3/converter/IntegerConverter.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/net/ess3/converter/IntegerConverter.java')
-rw-r--r--Essentials/src/net/ess3/converter/IntegerConverter.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/Essentials/src/net/ess3/converter/IntegerConverter.java b/Essentials/src/net/ess3/converter/IntegerConverter.java
new file mode 100644
index 000000000..835a0d293
--- /dev/null
+++ b/Essentials/src/net/ess3/converter/IntegerConverter.java
@@ -0,0 +1,39 @@
+package net.ess3.converter;
+
+import org.apache.commons.lang.Validate;
+
+
+public class IntegerConverter implements ArgumentsParser<Integer>, Serializer<Integer>
+{
+ private static final IntegerConverter INSTANCE = new IntegerConverter();
+
+ private IntegerConverter()
+ {
+ }
+
+ public static IntegerConverter getInstance()
+ {
+ return INSTANCE;
+ }
+
+ @Override
+ public ParserResult<Integer> parse(final String... args)
+ {
+ Validate.notEmpty(args);
+ try
+ {
+ final int number = Integer.parseInt(args[0]);
+ return new FirstEntryParserResult<Integer>(number, args);
+ }
+ catch (NumberFormatException ex)
+ {
+ throw new IllegalArgumentException(ex);
+ }
+ }
+
+ @Override
+ public String serialize(final Integer input)
+ {
+ return input.toString();
+ }
+}