diff options
Diffstat (limited to 'Essentials/src/net/ess3/converter/IntegerConverter.java')
-rw-r--r-- | Essentials/src/net/ess3/converter/IntegerConverter.java | 39 |
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(); + } +} |