## org.eclipse.emf.ecore.resource.impl
Class URIHandlerImpl

    java.lang.Object
      org.eclipse.emf.ecore.resource.impl.URIHandlerImpl

All Implemented Interfaces:
  URIHandler

Direct Known Subclasses:
  ArchiveURIHandlerImpl, EFSURIHandlerImpl, FileURIHandlerImpl, PlatformResourceURIHandlerImpl

    public class URIHandlerImpl

extends java.lang.Object
implements URIHandler

An implementation of a `URI handler`.

Field Summary

Fields inherited from interface org.eclipse.emf.ecore.resource.URIHandler
`DEFAULT_HANDLERS`

Constructor Summary
`URIHandlerImpl()` Creates an instance.

Method Summary
`boolean` `canHandle(URI uri)` This implementation always returns true; clients are generally expected to override this.
`java.util.Map<java.lang.String,?>` `contentDescription(URI uri, java.util.Map<?,?> options)` This implementation delegates to the `URI converter`'s `content handlers`.
`java.io.InputStream` `createInputStream(URI uri, java.util.Map<?,?> options)` Creates an input stream for the URI, assuming it's a URL, and returns it.
`java.io.OutputStream` `createOutputStream(URI uri, java.util.Map<?,?> options)` Creates an output stream for the URI, assuming it's a URL, and returns it.
`void` `delete(URI uri, java.util.Map<?,?> options)` Only HTTP connections support delete.
`boolean` `exists(URI uri, java.util.Map<?,?> options)` If a stream can be created the file exists.
`java.util.Map<java.lang.String,?>` `getAttributes(URI uri, java.util.Map<?,?> options)` Returns a map from String attributes to their corresponding values representing information about various aspects of the URI's state.
`protected java.util.Set<java.lang.String>` `getRequestedAttributes(java.util.Map<?,?> options)` Returns the value of the `requested attributes option`.
`protected java.util.Map<java.lang.Object,java.lang.Object>` `getResponse(java.util.Map<?,?> options)` Returns the value of the `response option`.
`protected URIConverter` `getURIConverter(java.util.Map<?,?> options)` Returns the value of the `URI converter option`.
`void` `setAttributes(URI uri, java.util.Map<java.lang.String,?> attributes, java.util.Map<?,?> options)` Updates the map from String attributes to their corresponding values representing information about various aspects of the URI's state.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### URIHandlerImpl

    public URIHandlerImpl()

  Creates an instance.

Method Detail

### canHandle

    public boolean canHandle(URI uri)

  This implementation always returns true; clients are generally expected to override this.

  Specified by:
    `canHandle` in interface `URIHandler`
  Parameters:
    `uri` - the URI to consider.
  Returns:
    whether this handler is appropriate for the given URI.

### getURIConverter

    protected URIConverter getURIConverter(java.util.Map<?,?> options)

  Returns the value of the `URI converter option`.

  Parameters:
    `options` - the options in which to look for the URI converter.
  Returns:
    the value of the URI converter option.

### getResponse

    protected java.util.Map<java.lang.Object,java.lang.Object> getResponse(java.util.Map<?,?> options)

  Returns the value of the `response option`.

  Parameters:
    `options` - the options in which to look for the response option.
  Returns:
    the value of the response option.

### getRequestedAttributes

    protected java.util.Set<java.lang.String> getRequestedAttributes(java.util.Map<?,?> options)

  Returns the value of the `requested attributes option`.

  Parameters:
    `options` - the options in which to look for the requested attributes option.
  Returns:
    the value of the requested attributes option.

### createOutputStream

    public java.io.OutputStream createOutputStream(URI uri,
                                                   java.util.Map<?,?> options)
                                            throws java.io.IOException

  Creates an output stream for the URI, assuming it's a URL, and returns it. Specialized support is provided for HTTP URLs.

  Specified by:
    `createOutputStream` in interface `URIHandler`
  Parameters:
    `uri` - the URI for which to create the output stream.
    `options` - a map of options to influence the kind of stream that is returned; unrecognized options are ignored and `null` is permitted.
  Returns:
    an open output stream.
  Throws:
    `java.io.IOException` - if there is a problem obtaining an open output stream.
  See Also:
    `URIConverter.createOutputStream(URI, Map)`

### createInputStream

    public java.io.InputStream createInputStream(URI uri,
                                                 java.util.Map<?,?> options)
                                          throws java.io.IOException

  Creates an input stream for the URI, assuming it's a URL, and returns it.

  Specified by:
    `createInputStream` in interface `URIHandler`
  Parameters:
    `uri` - the URI for which to create the input stream.
    `options` - a map of options to influence the kind of stream that is returned; unrecognized options are ignored and `null` is permitted.
  Returns:
    an open input stream.
  Throws:
    `java.io.IOException` - if there is a problem obtaining an open input stream.
  See Also:
    `URIConverter.createInputStream(URI, Map)`

### delete

    public void delete(URI uri,
                       java.util.Map<?,?> options)
                throws java.io.IOException

  Only HTTP connections support delete.

  Specified by:
    `delete` in interface `URIHandler`
  Parameters:
    `uri` - the URI to consider.
    `options` - options to influence how the contents are deleted, or `null` if there are no options.
  Throws:
    `java.io.IOException` - if there is a problem deleting the contents.
  See Also:
    `URIConverter.delete(URI, Map)`

### contentDescription

    public java.util.Map<java.lang.String,?> contentDescription(URI uri,
                                                                java.util.Map<?,?> options)
                                                         throws java.io.IOException

  This implementation delegates to the `URI converter`'s `content handlers`.

  Specified by:
    `contentDescription` in interface `URIHandler`
  Parameters:
    `uri` - the URI to consider.
    `options` - options to influence how the content description is determined, or `null` if there are no options.
  Returns:
    a map from String properties to their corresponding values representing a description the given URI's contents.
  Throws:
    `java.io.IOException` - if there is a problem accessing the contents.
  See Also:
    `URIConverter.contentDescription(URI, Map)`, `ContentHandler.contentDescription(URI, InputStream, Map, Map)`

### exists

    public boolean exists(URI uri,
                          java.util.Map<?,?> options)

  If a stream can be created the file exists. Specialized support is provided for HTTP connections to avoid fetching the whole stream in that case.

  Specified by:
    `exists` in interface `URIHandler`
  Parameters:
    `uri` - the URI to consider.
    `options` - options to influence how the existence determined, or `null` if there are no options.
  Returns:
    whether the given URI has contents.
  See Also:
    `URIConverter.exists(URI, Map)`

### getAttributes

    public java.util.Map<java.lang.String,?> getAttributes(URI uri,
                                                           java.util.Map<?,?> options)

  Description copied from interface: `URIHandler`
  Returns a map from String attributes to their corresponding values representing information about various aspects of the URI's state. The `requested attributes option` can be used to specify which properties to fetch; without that option, all supported attributes will be fetched. If the URI doesn't not support any particular attribute, an entry for that attribute will not be appear in the result.

  Specified by:
    `getAttributes` in interface `URIHandler`
  Parameters:
    `uri` - the URI to consider.
    `options` - options to influence how the attributes are determined, or `null` if there are no options.
  Returns:
    a map from String attributes to their corresponding values representing information about various aspects of the URI's state.

### setAttributes

    public void setAttributes(URI uri,
                              java.util.Map<java.lang.String,?> attributes,
                              java.util.Map<?,?> options)
                       throws java.io.IOException

  Description copied from interface: `URIHandler`
  Updates the map from String attributes to their corresponding values representing information about various aspects of the URI's state. Unsupported or unchangeable attributes are ignored.

  Specified by:
    `setAttributes` in interface `URIHandler`
  Parameters:
    `uri` - the URI to consider.
    `attributes` - the new values for the attributes.
    `options` - options to influence how the attributes are updated, or `null` if there are no options.
  Throws:
    `java.io.IOException` - if there is a problem updating the attributes.

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