Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: com :: sun :: star :: uri ::

interface XUriReferenceFactory
Description
creates URI references.

See RFC 2396 for a description of URI references and related terms.

Since
OOo 2.0

Methods' Summary
parse parses the textual representation of a URI reference.  
makeAbsolute resolves a relative URI reference to absolute form.  
makeRelative changes an absolute URI refrence to relative form.  
Methods' Details
parse
XUriReference
parse( [in] string  uriReference );

Description
parses the textual representation of a URI reference.
Parameter uriReference
the textual representation of a URI reference.
Returns
an object that supports XUriReference (and possibly also additional, scheme-specific interfaces), if the given input can be parsed into a URI reference; otherwise, NULL is returned.
makeAbsolute
XUriReference
makeAbsolute( [in] XUriReference  baseUriReference,
[in] XUriReference  uriReference,
[in] boolean  processSpecialBaseSegments,
[in] RelativeUriExcessParentSegments  excessParentSegments );

Description
resolves a relative URI reference to absolute form.
Parameter baseUriReference
the base URI reference. If the given uriReference is a same-document reference, baseUriReference is used as a reference to the current document.
Parameter uriReference
any URI reference. Backwards-compatible relative URI references starting with a scheme component (see RFC 2396, Section 5.2, step 3) are not supported; instead, they are interpreted as absolute URI references.
Parameter processSpecialBaseSegments
if true, special segments (“.” and “..”) within the path of the base URI (except for the last, cut-off segment) are processed as suggested by RFC 2396. If false, special segments within the path of the base URI are treated like ordinary segments.
Parameter excessParentSegments
details how excess special parent segments (“..”) are handled.
Returns
a fresh object that supports XUriReference (and possibly also additional, scheme-specific interfaces), if the given uriReference is either already absolute, or can be resolved to an absolute URI reference, relative to the given baseUriReference; otherwise, NULL is returned. Especially, if baseUriReference is NULL, or is not an absolute, hierarchical URI reference, or if uriReference is NULL, then NULL is always returned.
makeRelative
XUriReference
makeRelative( [in] XUriReference  baseUriReference,
[in] XUriReference  uriReference,
[in] boolean  preferAuthorityOverRelativePath,
[in] boolean  preferAbsoluteOverRelativePath,
[in] boolean  encodeRetainedSpecialSegments );

Description
changes an absolute URI refrence to relative form.
Parameter baseUriReference
the base URI reference.
Parameter uriReference
any URI reference.
Parameter preferAuthorityOverRelativePath
controls how a relative URI reference is generated when both baseUriReference (e.g., “scheme://auth/a/b”) and uriReference (e.g., “scheme://auth//c/d”) have the same scheme and authority components, and the path component of uriReference starts with “//”. If true, the generated relative URI reference includes an authority component (e.g., “//auth//c/d”); if false, the generated relative URI reference has a relative path (e.g., “..//c/d”).
Parameter preferAbsoluteOverRelativePath
controls how a relative URI reference is generated when both baseUriReference (e.g., “scheme://auth/a/b”) and uriReference (e.g., “scheme://auth/c/d”) have the same scheme and authority components (if present), but share no common path segments. If true, the generated relative URI reference has an absolute path (e.g., “/c/d”); if false, the generated relative URI reference has a relative path (e.g., “../c/d”).
Parameter encodeRetainedSpecialSegments
if true, special segments (“.” and “..”) that are already present in the path component of the given uriReference and which end up in a relative path returned from this method, are encoded (as “%2E” and “%2E%2E”, respectively).
Returns
a fresh object that supports XUriReference, if the given uriReference is either already relative, or is not hierarchical, or is of a different scheme than the given baseUriReference, or can be changed to a relative URI reference, relative to the given baseUriReference; otherwise, NULL is returned. Especially, if baseUriReference is NULL, or is not an absolute, hierarchical URI reference, or if uriReference is NULL, then NULL is always returned.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.