Package org.apache.commons.vfs2.provider
Class UriParser
- java.lang.Object
-
- org.apache.commons.vfs2.provider.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.
-
-
-
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.
-
normalisePath
public static FileType normalisePath(java.lang.StringBuilder path) throws FileSystemException
Normalises a path. Does the following:- Removes empty path elements.
- Handles '.' and '..' elements.
- Removes trailing separator.
- 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.
-
-