com.sapportals.wcm.util.uri

Interface IUriReference

All Known Implementing Classes:
UriReference

public interface IUriReference

A RFC2396 URI reference interface.

 urireference ::= refpart fragment
 refpart ::= uri | relativeref
 fragment ::= '#' uri-characters | empty
 relativeref ::= hierarchical_part | opaque_part
 hierarchical_part ::= pathsegment query | [ netpath ] abspath query
 netpath ::= '//' authority
 

The opaque part is not directly mapped to this interface, but is the composition of path + query. This is due to the fact that at construction time of a relatice URI reference, it is not clear if the reference is part of an opaque or hierarchical URI scheme. Base URI classes, not hierarchical, which have to resolve references, have to concatenate path and query to get the opaque part of the reference.

There are degenerate cases of relative URI reference with a scheme, but without authority component. See RFC 2396, page 32 as an example. The use is discouraged.

Copyright (c) SAP AG 2001-2005


Method Summary
 IUriReference appendPath(String path)
          Create a new uri reference by appending the given path to any existing path in the uri reference.
 String getAuthority()
          Get the authority of the reference
 String getFragmentIdentifier()
          Get the fragment identifier (without '#') of the uri
 String getPath()
          Get the path of the reference
 String getQuery()
          Get the query of the reference
 String getScheme()
          Get the scheme of the reference
 IUri getUri()
          Get the uri of the reference if absolute
 boolean isAbsolute()
          Determine if the reference is absolute
 IUriReference resolveWith(IUri base)
          With base Uri, resolve this reference to an absolute reference.
 IUriReference setQuery(String query)
          Gets a new URI reference resulting from setting the query of this URI reference to the given query.
 String toExternalForm()
          Returns a string representation according to RFC 2396 of this uri reference.
 

Method Detail

appendPath

IUriReference appendPath(String path)
                         throws UnsupportedOperationException
Create a new uri reference by appending the given path to any existing path in the uri reference. The path must be uri encoded or the created reference will not be valid. The given path is appended by prefixing a slash character, if necessary.

Parameters:
path - uri encoded path to be appended
Returns:
an uri reference with path appended
Throws:
UnsupportedOperationException - if reference holds non-hierarchical uri scheme

setQuery

IUriReference setQuery(String query)
Gets a new URI reference resulting from setting the query of this URI reference to the given query. The query string must be in RFC 2396 encoded form. See UriQuery for manipulation of query strings.

Parameters:
query - the encoded query string to be set (may be null )
Returns:
an uri reference with query set to given query
Throws:
UnsupportedOperationException - if reference holds uri scheme without queries

getFragmentIdentifier

String getFragmentIdentifier()
Get the fragment identifier (without '#') of the uri

Returns:
fragment identifier or empty string

getScheme

String getScheme()
Get the scheme of the reference

Returns:
scheme of reference or null

getAuthority

String getAuthority()
Get the authority of the reference

Returns:
authority of reference or null

getPath

String getPath()
Get the path of the reference

Returns:
path of reference or empty string

getQuery

String getQuery()
Get the query of the reference

Returns:
query of reference or null

getUri

IUri getUri()
Get the uri of the reference if absolute

Returns:
uri of reference or null

isAbsolute

boolean isAbsolute()
Determine if the reference is absolute

Returns:
if reference is absolute

resolveWith

IUriReference resolveWith(IUri base)
                          throws IllegalArgumentException
With base Uri, resolve this reference to an absolute reference. If this reference is already absolute, this is the identity operation.

Parameters:
base - uri to resolve reference with
Returns:
absolute uri reference
Throws:
IllegalArgumentException

toExternalForm

String toExternalForm()
Returns a string representation according to RFC 2396 of this uri reference.

Returns:
string in uri reference format
Access Rights

This class can be accessed from:


SC DC Public Part ACH
[sap.com] KMC-CM [sap.com] tc/km/frwk api EP-KM-CM
[sap.com] KMC-WPC [sap.com] tc/kmc/wpc/wpcfacade api EP-PIN-WPC-WCM


Copyright 2014 SAP AG Complete Copyright Notice