KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > caramel > util > UrlUtils


1 /*
2 ** Caramel - Non-GUI Java Addons
3 ** Copyright (c) 2001, 2002, 2003 by Gerald Bauer
4 **
5 ** This program is free software.
6 **
7 ** You may redistribute it and/or modify it under the terms of the GNU
8 ** Lesser General Public License as published by the Free Software Foundation.
9 ** Version 2.1 of the license should be included with this distribution in
10 ** the file LICENSE, as well as License.html. If the license is not
11 ** included with this distribution, you may find a copy at the FSF web
12 ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the
13 ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.
14 **
15 ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,
16 ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR
17 ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY
18 ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR
19 ** REDISTRIBUTION OF THIS SOFTWARE.
20 **
21 */

22
23 package caramel.util;
24
25 import java.net.*;
26 import java.util.*;
27
28 public class UrlUtils
29 {
30
31    private static URL _errorUrl;
32
33    public static URL getErrorUrl()
34    {
35       if( _errorUrl == null )
36       {
37          try
38          {
39             _errorUrl = new URL( "http://fallback.net" );
40          }
41          catch( MalformedURLException mex )
42          {
43          }
44       }
45
46       return _errorUrl;
47    }
48
49    public static Map parseQueryString( String JavaDoc query )
50    {
51       HashMap args = new HashMap();
52
53       // note: we need to be able to handle empty arguments
54
// e.g. file=&dir=
55
// therefore, we can't use plain-vanilla StringTokenizer
56

57       UrlQueryTokenizer tok = new UrlQueryTokenizer( query );
58       while( tok.advance() )
59       {
60          String JavaDoc key = tok.getKey();
61          String JavaDoc value = tok.getValue();
62
63          args.put( key, value );
64       }
65
66       return args;
67    }
68
69 }
70
Popular Tags