Class CmsUriSplitter

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

    Constructors
    Constructor
    Description
    Creates a splitted URI using the strict parsing mode.
    CmsUriSplitter(String uri, boolean strict)
    Creates a splitted URI using the given parsing mode.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    Returns the anchor part of the uri, for example someanchor, or null if no anchor is available.
    Returns the prefix part of the uri, for example http://www.opencms.org/some/path/, or null if no prefix is available.
    Returns the URI protocol, for example http or https.
    Returns the query part of the uri, for example a=b&c=d, or null if no query is available.
    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 URI String passed to this URI splitter.
    int
     
    boolean
    Returns true if the URI was parsed error free in 'strict' mode, or if the simple mode was used.
    static boolean
    Checks if the given URI is well formed.
    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 Details

    • CmsUriSplitter

      public CmsUriSplitter(String uri)
      Creates a splitted URI using the 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 Details

    • isValidUri

      public static boolean isValidUri(String uri)
      Checks if the given URI is well formed.

      Parameters:
      uri - the URI to check
      Returns:
      true if the given URI is well formed
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      See Also:
    • 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
    • getProtocol

      public String getProtocol()
      Returns the URI protocol, for example http or https.

      Returns:
      the URI protocol
    • 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:
    • 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