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

public 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

public 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

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

Returns:
fragment identifier or empty string

getScheme

public String getScheme()
Get the scheme of the reference

Returns:
scheme of reference or null

getAuthority

public String getAuthority()
Get the authority of the reference

Returns:
authority of reference or null

getPath

public String getPath()
Get the path of the reference

Returns:
path of reference or empty string

getQuery

public String getQuery()
Get the query of the reference

Returns:
query of reference or null

getUri

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

Returns:
uri of reference or null

isAbsolute

public boolean isAbsolute()
Determine if the reference is absolute

Returns:
if reference is absolute

resolveWith

public IUriReference resolveWith(IUri base)
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

toExternalForm

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

Returns:
string in uri reference format


Copyright 2006 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.