Class URIUtil


  • public class URIUtil
    extends Object
    The URI escape and character encoding and decoding utility. It's compatible with HttpURL rather than URI.
    Version:
    $Revision: 507321 $ $Date: 2002/03/14 15:14:01
    Author:
    Sung-Gu
    • Field Detail

      • empty

        protected static final BitSet empty
    • Constructor Detail

      • URIUtil

        public URIUtil()
    • Method Detail

      • getName

        public static String getName​(String uri)
        Get the basename of an URI. It's possibly an empty string.
        Parameters:
        uri - a string regarded an URI
        Returns:
        the basename string; an empty string if the path ends with slash
      • getQuery

        public static String getQuery​(String uri)
        Get the query of an URI.
        Parameters:
        uri - a string regarded an URI
        Returns:
        the query string; null if empty or undefined
      • getPath

        public static String getPath​(String uri)
        Get the path of an URI.
        Parameters:
        uri - a string regarded an URI
        Returns:
        the path string
      • getPathQuery

        public static String getPathQuery​(String uri)
        Get the path and query of an URI.
        Parameters:
        uri - a string regarded an URI
        Returns:
        the path and query string
      • getFromPath

        public static String getFromPath​(String uri)
        Get the path of an URI and its rest part.
        Parameters:
        uri - a string regarded an URI
        Returns:
        the string from the path part
      • encodeAll

        public static String encodeAll​(String unescaped,
                                       String charset)
                                throws URIException
        Get the all escaped and encoded string with a given charset. It's the same function to use encode(String unescaped, Bitset empty, String charset).
        Parameters:
        unescaped - an unescaped string
        charset - the charset
        Returns:
        the escaped string
        Throws:
        URIException - if the charset is not supported
        See Also:
        encode(java.lang.String, java.util.BitSet)
      • encodeWithinAuthority

        public static String encodeWithinAuthority​(String unescaped,
                                                   String charset)
                                            throws URIException
        Escape and encode a string regarded as within the authority component of an URI with a given charset. Within the authority component, the characters ";", ":", "@", "?", and "/" are reserved.
        Parameters:
        unescaped - an unescaped string
        charset - the charset
        Returns:
        the escaped string
        Throws:
        URIException - if the charset is not supported
        See Also:
        encode(java.lang.String, java.util.BitSet)
      • encodeWithinPath

        public static String encodeWithinPath​(String unescaped)
                                       throws URIException
        Escape and encode a string regarded as within the path component of an URI with the default protocol charset. The path may consist of a sequence of path segments separated by a single slash "/" character. Within a path segment, the characters "/", ";", "=", and "?" are reserved.
        Parameters:
        unescaped - an unescaped string
        Returns:
        the escaped string
        Throws:
        URIException - if the default protocol charset is not supported
        See Also:
        URI.getDefaultProtocolCharset(), encode(java.lang.String, java.util.BitSet)
      • encodeWithinPath

        public static String encodeWithinPath​(String unescaped,
                                              String charset)
                                       throws URIException
        Escape and encode a string regarded as within the path component of an URI with a given charset. The path may consist of a sequence of path segments separated by a single slash "/" character. Within a path segment, the characters "/", ";", "=", and "?" are reserved.
        Parameters:
        unescaped - an unescaped string
        charset - the charset
        Returns:
        the escaped string
        Throws:
        URIException - if the charset is not supported
        See Also:
        encode(java.lang.String, java.util.BitSet)
      • encodeWithinQuery

        public static String encodeWithinQuery​(String unescaped)
                                        throws URIException
        Escape and encode a string regarded as within the query component of an URI with the default protocol charset. When a query comprise the name and value pairs, it is used in order to encode each name and value string. The reserved special characters within a query component are being included in encoding the query.
        Parameters:
        unescaped - an unescaped string
        Returns:
        the escaped string
        Throws:
        URIException - if the default protocol charset is not supported
        See Also:
        URI.getDefaultProtocolCharset(), encode(java.lang.String, java.util.BitSet)
      • encodeWithinQuery

        public static String encodeWithinQuery​(String unescaped,
                                               String charset)
                                        throws URIException
        Escape and encode a string regarded as within the query component of an URI with a given charset. When a query comprise the name and value pairs, it is used in order to encode each name and value string. The reserved special characters within a query component are being included in encoding the query.
        Parameters:
        unescaped - an unescaped string
        charset - the charset
        Returns:
        the escaped string
        Throws:
        URIException - if the charset is not supported
        See Also:
        encode(java.lang.String, java.util.BitSet)
      • encodeQuery

        public static String encodeQuery​(String unescaped)
                                  throws URIException
        Escape and encode a string regarded as the query component of an URI with the default protocol charset. When a query string is not misunderstood the reserved special characters ("&", "=", "+", ",", and "$") within a query component, this method is recommended to use in encoding the whole query.
        Parameters:
        unescaped - an unescaped string
        Returns:
        the escaped string
        Throws:
        URIException - if the default protocol charset is not supported
        See Also:
        URI.getDefaultProtocolCharset(), encode(java.lang.String, java.util.BitSet)
      • encodeQuery

        public static String encodeQuery​(String unescaped,
                                         String charset)
                                  throws URIException
        Escape and encode a string regarded as the query component of an URI with a given charset. When a query string is not misunderstood the reserved special characters ("&", "=", "+", ",", and "$") within a query component, this method is recommended to use in encoding the whole query.
        Parameters:
        unescaped - an unescaped string
        charset - the charset
        Returns:
        the escaped string
        Throws:
        URIException - if the charset is not supported
        See Also:
        encode(java.lang.String, java.util.BitSet)
      • encode

        public static String encode​(String unescaped,
                                    BitSet allowed)
                             throws URIException
        Escape and encode a given string with allowed characters not to be escaped and the default protocol charset.
        Parameters:
        unescaped - a string
        allowed - allowed characters not to be escaped
        Returns:
        the escaped string
        Throws:
        URIException - if the default protocol charset is not supported
        See Also:
        URI.getDefaultProtocolCharset()
      • encode

        public static String encode​(String unescaped,
                                    BitSet allowed,
                                    String charset)
                             throws URIException
        Escape and encode a given string with allowed characters not to be escaped and a given charset.
        Parameters:
        unescaped - a string
        allowed - allowed characters not to be escaped
        charset - the charset
        Returns:
        the escaped string
        Throws:
        URIException
      • decode

        public static String decode​(String escaped)
                             throws URIException
        Unescape and decode a given string regarded as an escaped string with the default protocol charset.
        Parameters:
        escaped - a string
        Returns:
        the unescaped string
        Throws:
        URIException - if the string cannot be decoded (invalid)
        See Also:
        URI.getDefaultProtocolCharset()