org.opencms.util
Class CmsUriSplitter

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

public class CmsUriSplitter
extends java.lang.Object

Splits an URI String into separate components.

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

Version:
$Revision: 1.11 $
Author:
Alexander Kandzior

Constructor Summary
CmsUriSplitter(java.lang.String uri)
          Creates a splitted URI using the default (not strict) parsing mode.
CmsUriSplitter(java.lang.String uri, boolean strict)
          Creates a splitted URI using the given parsing mode.
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.lang.String getAnchor()
          Returns the anchor part of the uri, for example someanchor, or null if no anchor is available.
 java.lang.String getPrefix()
          Returns the prefix part of the uri, for example http://www.opencms.org/some/path/, or null if no prefix is available.
 java.lang.String getQuery()
          Returns the query part of the uri, for example a=b&c=d, or null if no query is available.
 java.lang.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.
 java.net.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(java.lang.String uri)
Creates a splitted URI using the default (not strict) parsing mode.

Parameters:
uri - the URI to split

CmsUriSplitter

public CmsUriSplitter(java.lang.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(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)

getAnchor

public java.lang.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 java.lang.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 java.lang.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

getUri

public java.lang.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 java.lang.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 java.net.URI toURI()
                   throws java.net.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:
java.net.URISyntaxException - in case no URI object can be created from the original input String