author | erikj |
Tue, 12 Sep 2017 19:03:39 +0200 | |
changeset 47216 | 71c04702a3d5 |
parent 31530 | jdk/src/jdk.internal.le/share/classes/jdk/internal/jline/internal/Urls.java@aa87d96a02b1 |
child 50338 | 1d5694c1aa03 |
permissions | -rw-r--r-- |
31530
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
1 |
/* |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
2 |
* Copyright (c) 2002-2012, the original author or authors. |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
3 |
* |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
4 |
* This software is distributable under the BSD license. See the terms of the |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
5 |
* BSD license in the documentation provided with this software. |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
6 |
* |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
7 |
* http://www.opensource.org/licenses/bsd-license.php |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
8 |
*/ |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
9 |
package jdk.internal.jline.internal; |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
10 |
|
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
11 |
import java.io.File; |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
12 |
import java.net.MalformedURLException; |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
13 |
import java.net.URL; |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
14 |
|
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
15 |
/** |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
16 |
* URL helpers. |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
17 |
* |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
18 |
* @author <a href="mailto:jason@planet57.com">Jason Dillon</a> |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
19 |
* @author <a href="mailto:gnodet@gmail.com">Guillaume Nodet</a> |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
20 |
* @since 2.7 |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
21 |
*/ |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
22 |
public class Urls |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
23 |
{ |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
24 |
public static URL create(final String input) { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
25 |
if (input == null) { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
26 |
return null; |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
27 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
28 |
try { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
29 |
return new URL(input); |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
30 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
31 |
catch (MalformedURLException e) { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
32 |
return create(new File(input)); |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
33 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
34 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
35 |
|
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
36 |
public static URL create(final File file) { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
37 |
try { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
38 |
return file != null ? file.toURI().toURL() : null; |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
39 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
40 |
catch (MalformedURLException e) { |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
41 |
throw new IllegalStateException(e); |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
42 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
43 |
} |
aa87d96a02b1
8080679: Include jline in JDK for Java and JavaScript REPLs
jlahoda
parents:
diff
changeset
|
44 |
} |