org.apache.commons.vfs2.provider
Class UriParser

java.lang.Object
  extended by org.apache.commons.vfs2.provider.UriParser

public final class UriParser
extends java.lang.Object

Utilities for dealing with URIs. See RFC 2396 for details.

Author:
Commons VFS team 2005) $

Field Summary
static char TRANS_SEPARATOR
          The set of valid separators.
 
Method Summary
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 normalised one. Does not contain the normalised 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.

normalisePath

public static FileType normalisePath(java.lang.StringBuilder path)
                              throws FileSystemException
Normalises a path. Does the following: Its assumed that the separators are already fixed.

Parameters:
path - The path to normalize.
Returns:
The FileType.
Throws:
FileSystemException - if an error occurs.
See Also:
fixSeparators(java.lang.StringBuilder)

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.

checkUriEncoding

public static void checkUriEncoding(java.lang.String uri)
                             throws FileSystemException
Decodes the String.

Parameters:
uri - The String to decode.
Throws:
FileSystemException - if an error occurs.

canonicalizePath

public static void canonicalizePath(java.lang.StringBuilder buffer,
                                    int offset,
                                    int length,
                                    FileNameParser fileNameParser)
                             throws FileSystemException
Throws:
FileSystemException

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.