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

java.lang.Object
  extended by org.eclipse.emf.ecore.resource.impl.URIHandlerImpl
All Implemented Interfaces:
URIHandler
Direct Known Subclasses:
ArchiveURIHandlerImpl, EFSURIHandlerImpl, FileURIHandlerImpl, LocalURIHandlerImpl, PlatformResourceURIHandlerImpl, URIServiceCallback

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.
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.
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.
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.
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.
Throws:
java.io.IOException - if there is a problem updating the attributes.

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