|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.xmlmind.util.URIComponent
public final class URIComponent
A collection of low-level utility functions (static methods) related to URI
components (Strings, not java.net.URI).
Refer to the documentation of URI for the definitions
of quote, encode and decode.
| Method Summary | |
|---|---|
static java.lang.String |
decode(java.lang.String s)
Equivalent to decode(s, "UTF-8"). |
static java.lang.String |
decode(java.lang.String s,
java.lang.String charset)
Decodes all %HH sequences. |
static java.lang.String |
encode(java.lang.String s)
Equivalent to encode(s, "UTF-8"). |
static java.lang.String |
encode(java.lang.String s,
java.lang.String charset)
Encodes non-ASCII characters, space characters (according to java.lang.Character.isSpaceChar) and control characters (according to java.lang.Character.isISOControl) as %XX bytes. |
static java.lang.String |
getBaseName(java.lang.String path)
Same as getRawBaseName(java.lang.String) except that the returned value is
decoded using decode(java.lang.String). |
static java.lang.String |
getExtension(java.lang.String path)
Same as getRawExtension(java.lang.String) except that the returned value is
decoded using decode(java.lang.String). |
static java.lang.String |
getFragment(java.lang.String location)
Same as getRawFragment(java.lang.String) except that the returned value is
decoded using decode(java.lang.String). |
static java.lang.String |
getRawBaseName(java.lang.String path)
Returns the base name of specified path. |
static java.lang.String |
getRawExtension(java.lang.String path)
Returns the extension of specified path. |
static java.lang.String |
getRawFragment(java.lang.String location)
Returns the fragment component (not including the '#' delimiter) of specified location if any; null otherwise. |
static java.lang.String |
getRawParentPath(java.lang.String path)
Equivalent to getRawParentPath(path, true). |
static java.lang.String |
getRawParentPath(java.lang.String path,
boolean trailingSlash)
Returns the parent of specified path. |
static java.lang.String |
getRawRelativePath(java.lang.String path,
java.lang.String basePath)
Returns first path as a path relative to the second path. |
static java.lang.String |
joinQuotedComponents(java.lang.String scheme,
java.lang.String userName,
java.lang.String userPassword,
java.lang.String host,
int port,
java.lang.String path,
java.lang.String query,
java.lang.String fragment)
Joins specified URI components, without attempting to quote them. |
static java.lang.String |
quoteFragment(java.lang.String fragment)
Quotes specified fragment (that is, escapes ``special'' characters). |
static java.lang.String |
quoteFullPath(java.lang.String path)
Quotes specified path (that is, escapes ``special'' characters). |
static void |
quoteFullPath(java.lang.String path,
java.lang.StringBuilder buffer)
Similar tp quoteFullPath(String) but appends quoted
path to specified buffer. |
static java.lang.String |
quotePath(java.lang.String path)
Quotes specified path (that is, escapes ``special'' characters). |
static java.lang.String |
quoteQuery(java.lang.String query)
Quotes specified query (that is, escapes ``special'' characters). |
static java.lang.String |
quoteUserInfo(java.lang.String userInfo)
Quotes specified user info (that is, escapes ``special'' characters). |
static java.lang.String |
setExtension(java.lang.String path,
java.lang.String extension)
Same as setRawExtension(java.lang.String, java.lang.String) except that extension is
quoted using quotePath(java.lang.String). |
static java.lang.String |
setFragment(java.lang.String location,
java.lang.String fragment)
Same as setRawFragment(java.lang.String, java.lang.String) except that fragment is
quoted using quoteFragment(java.lang.String). |
static java.lang.String |
setRawExtension(java.lang.String path,
java.lang.String extension)
Changes the extension of specified path to specified extension. |
static java.lang.String |
setRawFragment(java.lang.String location,
java.lang.String fragment)
Changes the fragment component of specified location to specified fragment. |
static java.lang.String |
truncatePath(java.lang.String path,
int maxLength)
Truncates specified path to get something short enough to be displayed in the "Recently Opened Files" part of a File menu. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static java.lang.String getRawParentPath(java.lang.String path)
getRawParentPath(path, true).
public static java.lang.String getRawParentPath(java.lang.String path,
boolean trailingSlash)
Examples:
null for "/".
null for "foo".
path - relative or absolute URI pathtrailingSlash - if true, returned path ends with a
trailing '/' character
null for '/' or if
specified path does not contain the '/' characterpublic static java.lang.String getBaseName(java.lang.String path)
getRawBaseName(java.lang.String) except that the returned value is
decoded using decode(java.lang.String).
public static java.lang.String getRawBaseName(java.lang.String path)
Examples:
path - relative or absolute URI path
public static java.lang.String getExtension(java.lang.String path)
getRawExtension(java.lang.String) except that the returned value is
decoded using decode(java.lang.String).
public static java.lang.String getRawExtension(java.lang.String path)
null for "/tmp/test".
null for "~/.profile".
path - relative or absolute URI path possibly having an extension
null otherwise
public static java.lang.String setExtension(java.lang.String path,
java.lang.String extension)
setRawExtension(java.lang.String, java.lang.String) except that extension is
quoted using quotePath(java.lang.String).
public static java.lang.String setRawExtension(java.lang.String path,
java.lang.String extension)
getRawExtension(java.lang.String) for a description of the extension of a path.
path - relative or absolute URI pathextension - new extension. Assumed to have been quoted using
quotePath(java.lang.String). May be null which means: remove the
extension.
Returns same path if specified path ends with '/'.
public static java.lang.String getFragment(java.lang.String location)
getRawFragment(java.lang.String) except that the returned value is
decoded using decode(java.lang.String).
public static java.lang.String getRawFragment(java.lang.String location)
null otherwise.
public static java.lang.String setFragment(java.lang.String location,
java.lang.String fragment)
setRawFragment(java.lang.String, java.lang.String) except that fragment is
quoted using quoteFragment(java.lang.String).
public static java.lang.String setRawFragment(java.lang.String location,
java.lang.String fragment)
location - relative or absolute locationfragment - new fragment. Assumed to have been quoted using quoteFragment(java.lang.String). May be null which means: remove the
fragment.
public static java.lang.String getRawRelativePath(java.lang.String path,
java.lang.String basePath)
The returned result resolved against the second path gives back first path. This means that trailing slashes "/" are significant.
Examples:
path - an absolute URI pathbasePath - another absolute URI path
public static java.lang.String truncatePath(java.lang.String path,
int maxLength)
path - relative or absolute URI path to be truncatedmaxLength - maximum length for truncated (this is just a hint);
typically 40
public static java.lang.String joinQuotedComponents(java.lang.String scheme,
java.lang.String userName,
java.lang.String userPassword,
java.lang.String host,
int port,
java.lang.String path,
java.lang.String query,
java.lang.String fragment)
null or -1 for missing components.
scheme - scheme or nulluserName - properly quoted user name or nulluserPassword - properly quoted password or nullhost - host or nullport - port or -1path - properly quoted path or nullquery - properly quoted query (without '?') or nullfragment - properly quoted fragment (without '#') or
null
public static java.lang.String quoteUserInfo(java.lang.String userInfo)
Use this function separately on the user name and on the user password. That is, do not use it on "name:password".
Like all quote functions, the returned string may contain characters beloging to the other category.
public static java.lang.String quotePath(java.lang.String path)
Use this function separately on each path segment. That is, do not use it on something like "foo/bar/gee".
Like all quote functions, the returned string may contain characters beloging to the other category.
quoteFullPath(String),
quoteFullPath(String, StringBuilder)public static java.lang.String quoteFullPath(java.lang.String path)
quotePath(java.lang.String) which only works for path segments,
this method can be used to quote a relative or absolute path.
Like all quote functions, the returned string may contain characters beloging to the other category.
public static void quoteFullPath(java.lang.String path,
java.lang.StringBuilder buffer)
quoteFullPath(String) but appends quoted
path to specified buffer.
public static java.lang.String quoteQuery(java.lang.String query)
Like all quote functions, the returned string may contain characters beloging to the other category.
public static java.lang.String quoteFragment(java.lang.String fragment)
Returned string contains only ASCII characters.
Like all quote functions, the returned string may contain characters beloging to the other category.
public static java.lang.String decode(java.lang.String s)
decode(s, "UTF-8").
public static java.lang.String decode(java.lang.String s,
java.lang.String charset)
This function should be used on individual components. For example, it can be used on "foo" and on "bar" and not on "/foo/bar" as a whole.
encode(String, String) and decode(String, String)
are not inverse operations:
s - string to be decodedcharset - the encoding used for characters in the other
category. A superset of US-ASCII.
Examples: "ISO-8859-1" (eacute is represented as "%E9"),
"UTF-8" (eacute is represented as "%C3%A9").
For interoperability with URI, charset
is required to be "UTF-8".
null if charset
is an unsupported encodingpublic static java.lang.String encode(java.lang.String s)
encode(s, "UTF-8").
public static java.lang.String encode(java.lang.String s,
java.lang.String charset)
encode(String, String) and decode(String, String)
are not inverse operations:
s - string to be encodecharset - the encoding used for the aforementioned
``illegal'' characters. A superset of US-ASCII.
For interoperability with URI, charset
is required to be "UTF-8".
null if charset
is an unsupported encoding
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||