summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Vervaeck <vervaeck.sam@skynet.be>2014-05-17 22:57:11 +0200
committerSam Vervaeck <vervaeck.sam@skynet.be>2014-05-17 22:57:11 +0200
commit495398d07b80ba24b6a1eaff0f0c973d4a295dcc (patch)
treeddd2771449137286404a97559746433217133cb4
parentd9bec530f2d1c83289e8f325b33940cafce6b6c2 (diff)
downloadplatform_external_jcommander-495398d07b80ba24b6a1eaff0f0c973d4a295dcc.tar.gz
platform_external_jcommander-495398d07b80ba24b6a1eaff0f0c973d4a295dcc.tar.bz2
platform_external_jcommander-495398d07b80ba24b6a1eaff0f0c973d4a295dcc.zip
Added support for URI parameters
-rw-r--r--src/main/java/com/beust/jcommander/converters/URIConverter.java46
-rw-r--r--src/test/java/com/beust/jcommander/args/ArgsConverter.java10
2 files changed, 54 insertions, 2 deletions
diff --git a/src/main/java/com/beust/jcommander/converters/URIConverter.java b/src/main/java/com/beust/jcommander/converters/URIConverter.java
new file mode 100644
index 0000000..82f6ace
--- /dev/null
+++ b/src/main/java/com/beust/jcommander/converters/URIConverter.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (C) 2010 the original author or authors.
+ * See the notice.md file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.beust.jcommander.converters;
+
+import com.beust.jcommander.ParameterException;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+/**
+ * Convert a string into a URI.
+ *
+ * @author samvv
+ */
+public class URIConverter extends BaseConverter<URI> {
+
+ public URIConverter(String optionName) {
+ super(optionName);
+ }
+
+ public URI convert(String value) {
+ try {
+ return new URI(value);
+ } catch (URISyntaxException e) {
+ throw new ParameterException(
+ getErrorString(value, "a RFC 2396 and RFC 2732 compliant URI"));
+ }
+ }
+
+}
diff --git a/src/test/java/com/beust/jcommander/args/ArgsConverter.java b/src/test/java/com/beust/jcommander/args/ArgsConverter.java
index c33475c..315abdc 100644
--- a/src/test/java/com/beust/jcommander/args/ArgsConverter.java
+++ b/src/test/java/com/beust/jcommander/args/ArgsConverter.java
@@ -20,10 +20,13 @@ package com.beust.jcommander.args;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.converters.FileConverter;
+import com.beust.jcommander.converters.URIConverter;
+import com.beust.jcommander.converters.URLConverter;
import java.io.File;
import java.math.BigDecimal;
import java.net.URI;
+import java.net.URL;
import java.util.List;
public class ArgsConverter {
@@ -31,8 +34,11 @@ public class ArgsConverter {
@Parameter(names = "-file", converter = FileConverter.class)
public File file;
-// @Parameter(names = "-uri")
-// public URI uri;
+ @Parameter(names = "-url", converter = URLConverter.class)
+ public URL url;
+
+ @Parameter(names = "-uri", converter = URIConverter.class)
+ public URI uri;
@Parameter(names = "-listStrings")
public List<String> listStrings;