summaryrefslogtreecommitdiffstats
path: root/args4j/args4j/src/org/kohsuke/args4j/spi/InetAddressOptionHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'args4j/args4j/src/org/kohsuke/args4j/spi/InetAddressOptionHandler.java')
-rw-r--r--args4j/args4j/src/org/kohsuke/args4j/spi/InetAddressOptionHandler.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/args4j/args4j/src/org/kohsuke/args4j/spi/InetAddressOptionHandler.java b/args4j/args4j/src/org/kohsuke/args4j/spi/InetAddressOptionHandler.java
new file mode 100644
index 0000000..7dcf3e5
--- /dev/null
+++ b/args4j/args4j/src/org/kohsuke/args4j/spi/InetAddressOptionHandler.java
@@ -0,0 +1,36 @@
+package org.kohsuke.args4j.spi;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+import org.kohsuke.args4j.CmdLineException;
+import org.kohsuke.args4j.CmdLineParser;
+import org.kohsuke.args4j.OptionDef;
+
+/**
+ * {@link InetAddress} {@link OptionHandler}.
+ *
+ * @author Dipen Lad
+ */
+public class InetAddressOptionHandler extends
+ OneArgumentOptionHandler<InetAddress> {
+ public InetAddressOptionHandler(CmdLineParser parser, OptionDef option,
+ Setter<? super InetAddress> setter) {
+ super(parser, option, setter);
+ }
+
+ @Override
+ protected InetAddress parse(String argument) throws CmdLineException {
+ try {
+ return InetAddress.getByName(argument);
+ } catch (UnknownHostException e) {
+ throw new CmdLineException(owner,
+ Messages.ILLEGAL_IP_ADDRESS, argument);
+ }
+ }
+
+ @Override
+ public String getDefaultMetaVariable() {
+ return Messages.DEFAULT_META_INET_ADDRESS_OPTION_HANDLER.format();
+ }
+}