1 /*****************************************************/
\r
2 /* This java file is a part of the */
\r
4 /* - Plouf's Java IRC Client - */
\r
6 /* Copyright (C) 2002 - 2005 Philippe Detournay */
\r
8 /* All contacts : theplouf@yahoo.com */
\r
10 /* PJIRC is free software; you can redistribute */
\r
11 /* it and/or modify it under the terms of the GNU */
\r
12 /* General Public License as published by the */
\r
13 /* Free Software Foundation; version 2 or later of */
\r
16 /* PJIRC is distributed in the hope that it will */
\r
17 /* be useful, but WITHOUT ANY WARRANTY; without */
\r
18 /* even the implied warranty of MERCHANTABILITY or */
\r
19 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
\r
20 /* General Public License for more details. */
\r
22 /* You should have received a copy of the GNU */
\r
23 /* General Public License along with PJIRC; if */
\r
24 /* not, write to the Free Software Foundation, */
\r
25 /* Inc., 59 Temple Place, Suite 330, Boston, */
\r
26 /* MA 02111-1307 USA */
\r
28 /*****************************************************/
\r
32 import java.applet.AppletContext;
\r
33 import java.net.MalformedURLException;
\r
34 import java.net.URL;
\r
37 * URL handling via applet.
\r
39 public class AppletURLHandler implements URLHandler {
\r
41 private AppletContext _ctx;
\r
44 * Create a new AppletURLHandler using the given AppletContext.
\r
47 * the applet context to use.
\r
49 public AppletURLHandler(AppletContext ctx) {
\r
53 private String replace(String on, String what, String with) {
\r
54 int pos = on.indexOf(what);
\r
56 String before = on.substring(0, pos);
\r
57 String after = on.substring(pos + what.length());
\r
58 on = before + with + after;
\r
59 pos = on.indexOf(what);
\r
64 private URL decodeURL(String u) throws MalformedURLException {
\r
65 if (u.indexOf("://") == -1)
\r
67 replace(u, " ", "%20");
\r
72 public void stateURL(String url) {
\r
74 _ctx.showStatus(decodeURL(url).toString());
\r
75 } catch (Exception e) {
\r
76 throw new RuntimeException(e.toString());
\r
81 public void openURL(String url) {
\r
82 openURL(url, "_blank");
\r
86 public void openURL(String url, String target) {
\r
88 _ctx.showDocument(decodeURL(url), target);
\r
89 } catch (Exception e) {
\r
90 throw new RuntimeException(e.toString());
\r