org.opencms.util
Class CmsUriSplitter

java.lang.Object
  extended by org.opencms.util.CmsUriSplitter

public class CmsUriSplitter
extends Object

Splits an URI String into separate components.

An URI is splitted into a prefix, a anchor and a query part.


Constructor Summary
CmsUriSplitter(String uri)
          Creates a splitted URI using the default (not strict) parsing mode.
CmsUriSplitter(String uri, boolean strict)
          Creates a splitted URI using the given parsing mode.
 
Method Summary
 boolean equals(Object obj)
           
 String getAnchor()
          Returns the anchor part of the uri, for example someanchor, or null if no anchor is available.
 String getPrefix()
          Returns the prefix part of the uri, for example http://www.opencms.org/some/path/, or null if no prefix is available.
 String getQuery()
          Returns the query part of the uri, for example a=b&c=d, or null if no query is available.
 String getSuffix()
          Returns the suffix part of the uri, a combination of query and anchor, for example ?a=b&c=d#someanchor, or the empty String if no suffix is available.
 String getUri()
          Returns the URI String passed to this URI splitter.
 int hashCode()
           
 boolean isErrorFree()
          Returns true if the URI was parsed error free in 'strict' mode, or if the simple mode was used.
 URI toURI()
          Returns an URI object created from the original input String.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CmsUriSplitter

public CmsUriSplitter(String uri)
Creates a splitted URI using the default (not strict) parsing mode.

Parameters:
uri - the URI to split

CmsUriSplitter

public CmsUriSplitter(String uri,
                      boolean strict)
Creates a splitted URI using the given parsing mode.

Using 'strict' parsing mode, all requirements for an URI are checked. If 'strict' is set to false, then only some simple parsing rules are applied, in which case the result may not be 100% valid (but still usable). If 'strict' parsing generates an error, then simple parsing is used as a fallback.

Parameters:
uri - the URI to split
strict - if true, then 'strict' parsing mode is used, otherwise a relaxed URI parsing is done
Method Detail

equals

public boolean equals(Object obj)
Overrides:
equals in class Object
See Also:
Object.equals(java.lang.Object)

getAnchor

public String getAnchor()
Returns the anchor part of the uri, for example someanchor, or null if no anchor is available.

Returns:
the anchor part of the uri

getPrefix

public String getPrefix()
Returns the prefix part of the uri, for example http://www.opencms.org/some/path/, or null if no prefix is available.

Returns:
the prefix part of the uri

getQuery

public String getQuery()
Returns the query part of the uri, for example a=b&c=d, or null if no query is available.

Returns:
the query part of the uri

getSuffix

public String getSuffix()
Returns the suffix part of the uri, a combination of query and anchor, for example ?a=b&c=d#someanchor, or the empty String if no suffix is available.

Returns:
the suffix part of the uri

getUri

public String getUri()
Returns the URI String passed to this URI splitter.

Returns:
the URI String passed to this URI splitter

hashCode

public int hashCode()
Overrides:
hashCode in class Object
See Also:
Object.hashCode()

isErrorFree

public boolean isErrorFree()
Returns true if the URI was parsed error free in 'strict' mode, or if the simple mode was used.

Returns:
true if the URI was parsed error free in 'strict' mode, or if the simple mode was used

toURI

public URI toURI()
          throws URISyntaxException
Returns an URI object created from the original input String.

This method will do a "best effort" to convert the original input String to a legal URI. Most notably, it will be able to handle original input Strings that contain a space " " and other usually illegal characters.

Returns:
an URI object created from the original input String
Throws:
URISyntaxException - in case no URI object can be created from the original input String