net.fortuna.ical4j.util
Class Uris

java.lang.Object
  extended by net.fortuna.ical4j.util.Uris

public final class Uris
extends Object

$Id$ Created on 11/09/2005 Utility methods for working with URIs.

Author:
Ben Fortuna

Field Summary
static String INVALID_SCHEME
          URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI.
 
Method Summary
static URI create(String s)
          Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on configured CompatibilityHints.
static String decode(String s)
          Decodes the specified URI string using the UTF-8 charset.
static String encode(String s)
          Encodes the specified URI string using the UTF-8 charset.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVALID_SCHEME

public static final String INVALID_SCHEME
URI Scheme used when relaxed parsing is enabled and the given input stream lead to an invalid URI.

See Also:
Constant Field Values
Method Detail

encode

public static String encode(String s)
Encodes the specified URI string using the UTF-8 charset. In the event that an exception is thrown, the specifed URI string is returned unmodified.

Parameters:
s - a URI string
Returns:
an encoded URI string

decode

public static String decode(String s)
Decodes the specified URI string using the UTF-8 charset. In the event that an exception is thrown, the specifed URI string is returned unmodified.

Parameters:
s - a URI string
Returns:
an encoded URI string

create

public static URI create(String s)
                  throws URISyntaxException
Attempts to create a URI instance and will optionally swallow any resulting URISyntaxException depending on configured CompatibilityHints. Will also automatically attempt encoding of the string representation for greater compatibility.

When relaxed parsing is enabled and if the string representation is not valid, a second URI creation attempt is made by extracting the scheme from the scheme specific part and URI encoding that later part. For example, "mailto: joe smith@example.com" becomes "mailto:joe%20smith@example.com".

If the second attempts also leads to a URISyntaxException, an opaque URI is constructed with a scheme of Uris.INVALID_SCHEME and a value corresponding to the initial representation.

Parameters:
s - a string representation of a URI.
Returns:
a URI instance, which may not correspond to the URI string if a valid URI string is not specified and relaxed parsing is enabled.
Throws:
URISyntaxException - if a valid URI string is not specified and relaxed parsing is disabled


Copyright © 2004-2012 Micronode. All Rights Reserved.