## org.eclipse.emf.ecore.xmi
Interface XMLResource.URIHandler

All Known Implementing Classes:
  ResourceEntityHandlerImpl, URIHandlerImpl, URIHandlerImpl.PlatformSchemeAware

Enclosing interface:
  XMLResource

    public static interface XMLResource.URIHandler

An interface for a URI handler that is used to `resolve` and `deresolve` URIs. Before being used by either load or save, `setBaseURI(URI)` will be called with the URI of the resource being loaded or saved. During load, `resolve(URI)` is called to resolve each URI against the URI of the containing resource; this provides an opportunity to turn relative URIs into absolute URIs. During save, `deresolve(URI)` is called to resolve each URI against the URI of the containing resource; this provide an opportunity to turn absolute URIs into relative URIs It should be the case that `uriHandler.resolve(uriHandler.deresolve(uri)).equals(uri)`, i.e., resolving the deresolved URI should yield the original URI.

See Also:
  `URIHandlerImpl`

Method Summary
`URI` `deresolve(URI uri)` Returns the URI `deresolved` against the base URI.
`URI` `resolve(URI uri)` Returns the URI `resolved` against the base URI.
`void` `setBaseURI(URI uri)` Sets base URI used by the handler.

Method Detail

### setBaseURI

    void setBaseURI(URI uri)

  Sets base URI used by the handler. It will be called before load or save begins.

  Parameters:
    `uri` - the new base URI.

### resolve

    URI resolve(URI uri)

  Returns the URI `resolved` against the base URI.

  Parameters:
    `uri` - the URI to resolve.
  Returns:
    the URI resolved against the base URI.
  See Also:
    `URI.resolve(URI)`

### deresolve

    URI deresolve(URI uri)

  Returns the URI `deresolved` against the base URI.

  Parameters:
    `uri` - the URI to resolve.
  Returns:
    the URI resolved against the base URI.
  See Also:
    `URI.deresolve(URI)`

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.