Class UriParser


  • public final class UriParser
    extends java.lang.Object
    Utilities for dealing with URIs. See RFC 2396 for details. 2005) $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static char TRANS_SEPARATOR
      The set of valid separators.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void appendEncoded​(java.lang.StringBuilder buffer, java.lang.String unencodedValue, char[] reserved)
      Encodes and appends a string to a StringBuilder.
      static void canonicalizePath​(java.lang.StringBuilder buffer, int offset, int length, FileNameParser fileNameParser)  
      static void checkUriEncoding​(java.lang.String uri)
      Decodes the String.
      static java.lang.String decode​(java.lang.String encodedStr)
      Removes %nn encodings from a string.
      static void decode​(java.lang.StringBuilder buffer, int offset, int length)
      Removes %nn encodings from a string.
      static java.lang.String encode​(java.lang.String decodedStr)
      Removes %nn encodings from a string.
      static java.lang.String[] encode​(java.lang.String[] strings)
      Encode an array of Strings.
      static void encode​(java.lang.StringBuilder buffer, int offset, int length, char[] reserved)
      Encodes a set of reserved characters in a StringBuilder, using the URI %nn encoding.
      static java.lang.String encode​(java.lang.String decodedStr, char[] reserved)
      Converts "special" characters to their %nn value.
      static java.lang.String extractFirstElement​(java.lang.StringBuilder name)
      Extracts the first element of a path.
      static java.lang.String extractQueryString​(java.lang.StringBuilder name)
      Extract the query String from the URI.
      static java.lang.String extractScheme​(java.lang.String uri)
      Extracts the scheme from a URI.
      static java.lang.String extractScheme​(java.lang.String uri, java.lang.StringBuilder buffer)
      Extracts the scheme from a URI.
      static boolean fixSeparators​(java.lang.StringBuilder name)
      Normalises the separators in a name.
      static FileType normalisePath​(java.lang.StringBuilder path)
      Normalises a path.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TRANS_SEPARATOR

        public static final char TRANS_SEPARATOR
        The set of valid separators. These are all converted to the normalized one. Does not contain the normalized separator
        See Also:
        Constant Field Values
    • Method Detail

      • extractFirstElement

        public static java.lang.String extractFirstElement​(java.lang.StringBuilder name)
        Extracts the first element of a path.
        Parameters:
        name - StringBuilder containing the path.
        Returns:
        The first element of the path.
      • fixSeparators

        public static boolean fixSeparators​(java.lang.StringBuilder name)
        Normalises the separators in a name.
        Parameters:
        name - The StringBuilder containing the name
        Returns:
        true if the StringBuilder was modified.
      • extractScheme

        public static java.lang.String extractScheme​(java.lang.String uri)
        Extracts the scheme from a URI.
        Parameters:
        uri - The URI.
        Returns:
        The scheme name. Returns null if there is no scheme.
      • extractScheme

        public static java.lang.String extractScheme​(java.lang.String uri,
                                                     java.lang.StringBuilder buffer)
        Extracts the scheme from a URI. Removes the scheme and ':' delimiter from the front of the URI.
        Parameters:
        uri - The URI.
        buffer - Returns the remainder of the URI.
        Returns:
        The scheme name. Returns null if there is no scheme.
      • decode

        public static java.lang.String decode​(java.lang.String encodedStr)
                                       throws FileSystemException
        Removes %nn encodings from a string.
        Parameters:
        encodedStr - The encoded String.
        Returns:
        The decoded String.
        Throws:
        FileSystemException - if an error occurs.
      • decode

        public static void decode​(java.lang.StringBuilder buffer,
                                  int offset,
                                  int length)
                           throws FileSystemException
        Removes %nn encodings from a string.
        Parameters:
        buffer - StringBuilder containing the string to decode.
        offset - The position in the string to start decoding.
        length - The number of characters to decode.
        Throws:
        FileSystemException - if an error occurs.
      • appendEncoded

        public static void appendEncoded​(java.lang.StringBuilder buffer,
                                         java.lang.String unencodedValue,
                                         char[] reserved)
        Encodes and appends a string to a StringBuilder.
        Parameters:
        buffer - The StringBuilder to append to.
        unencodedValue - The String to encode and append.
        reserved - characters to encode.
      • encode

        public static void encode​(java.lang.StringBuilder buffer,
                                  int offset,
                                  int length,
                                  char[] reserved)
        Encodes a set of reserved characters in a StringBuilder, using the URI %nn encoding. Always encodes % characters.
        Parameters:
        buffer - The StringBuilder to append to.
        offset - The position in the buffer to start encoding at.
        length - The number of characters to encode.
        reserved - characters to encode.
      • encode

        public static java.lang.String encode​(java.lang.String decodedStr)
        Removes %nn encodings from a string.
        Parameters:
        decodedStr - The decoded String.
        Returns:
        The encoded String.
      • encode

        public static java.lang.String encode​(java.lang.String decodedStr,
                                              char[] reserved)
        Converts "special" characters to their %nn value.
        Parameters:
        decodedStr - The decoded String.
        reserved - Characters to encode.
        Returns:
        The encoded String
      • encode

        public static java.lang.String[] encode​(java.lang.String[] strings)
        Encode an array of Strings.
        Parameters:
        strings - The array of Strings to encode.
        Returns:
        An array of encoded Strings.
      • extractQueryString

        public static java.lang.String extractQueryString​(java.lang.StringBuilder name)
        Extract the query String from the URI.
        Parameters:
        name - StringBuilder containing the URI.
        Returns:
        The query string, if any. null otherwise.