org.apache.felix.framework
Class URLHandlersStreamHandlerProxy
java.lang.Object
java.net.URLStreamHandler
org.apache.felix.framework.URLHandlersStreamHandlerProxy
- All Implemented Interfaces:
- java.lang.reflect.InvocationHandler, org.osgi.service.url.URLStreamHandlerSetter
public class URLHandlersStreamHandlerProxy
- extends java.net.URLStreamHandler
- implements org.osgi.service.url.URLStreamHandlerSetter, java.lang.reflect.InvocationHandler
This class implements a stream handler proxy. When the stream handler
proxy instance is created, it is associated with a particular protocol
and will answer all future requests for handling of that stream type. It
does not directly handle the stream handler requests, but delegates the
requests to an underlying stream handler service.
The proxy instance for a particular protocol is used for all framework
instances that may contain their own stream handler services. When
performing a stream handler operation, the proxy retrieves the handler
service from the framework instance associated with the current call
stack and delegates the call to the handler service.
The proxy will create simple stream handler service trackers for each
framework instance. The trackers will listen to service events in its
respective framework instance to maintain a reference to the "best"
stream handler service at any given time.
Method Summary |
protected boolean |
equals(java.net.URL url1,
java.net.URL url2)
|
protected int |
getDefaultPort()
|
protected java.net.InetAddress |
getHostAddress(java.net.URL url)
|
protected int |
hashCode(java.net.URL url)
|
protected boolean |
hostsEqual(java.net.URL url1,
java.net.URL url2)
|
java.lang.Object |
invoke(java.lang.Object obj,
java.lang.reflect.Method method,
java.lang.Object[] params)
|
protected java.net.URLConnection |
openConnection(java.net.URL url)
|
protected java.net.URLConnection |
openConnection(java.net.URL url,
java.net.Proxy proxy)
|
protected void |
parseURL(java.net.URL url,
java.lang.String spec,
int start,
int limit)
|
protected boolean |
sameFile(java.net.URL url1,
java.net.URL url2)
|
void |
setURL(java.net.URL url,
java.lang.String protocol,
java.lang.String host,
int port,
java.lang.String file,
java.lang.String ref)
|
void |
setURL(java.net.URL url,
java.lang.String protocol,
java.lang.String host,
int port,
java.lang.String authority,
java.lang.String userInfo,
java.lang.String path,
java.lang.String query,
java.lang.String ref)
|
protected java.lang.String |
toExternalForm(java.net.URL url)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
URLHandlersStreamHandlerProxy
public URLHandlersStreamHandlerProxy(java.lang.String protocol,
SecureAction action,
java.net.URLStreamHandler builtIn,
java.net.URL builtInURL)
equals
protected boolean equals(java.net.URL url1,
java.net.URL url2)
- Overrides:
equals
in class java.net.URLStreamHandler
getDefaultPort
protected int getDefaultPort()
- Overrides:
getDefaultPort
in class java.net.URLStreamHandler
getHostAddress
protected java.net.InetAddress getHostAddress(java.net.URL url)
- Overrides:
getHostAddress
in class java.net.URLStreamHandler
hashCode
protected int hashCode(java.net.URL url)
- Overrides:
hashCode
in class java.net.URLStreamHandler
hostsEqual
protected boolean hostsEqual(java.net.URL url1,
java.net.URL url2)
- Overrides:
hostsEqual
in class java.net.URLStreamHandler
openConnection
protected java.net.URLConnection openConnection(java.net.URL url)
throws java.io.IOException
- Specified by:
openConnection
in class java.net.URLStreamHandler
- Throws:
java.io.IOException
openConnection
protected java.net.URLConnection openConnection(java.net.URL url,
java.net.Proxy proxy)
throws java.io.IOException
- Overrides:
openConnection
in class java.net.URLStreamHandler
- Throws:
java.io.IOException
parseURL
protected void parseURL(java.net.URL url,
java.lang.String spec,
int start,
int limit)
- Overrides:
parseURL
in class java.net.URLStreamHandler
sameFile
protected boolean sameFile(java.net.URL url1,
java.net.URL url2)
- Overrides:
sameFile
in class java.net.URLStreamHandler
setURL
public void setURL(java.net.URL url,
java.lang.String protocol,
java.lang.String host,
int port,
java.lang.String authority,
java.lang.String userInfo,
java.lang.String path,
java.lang.String query,
java.lang.String ref)
- Specified by:
setURL
in interface org.osgi.service.url.URLStreamHandlerSetter
- Overrides:
setURL
in class java.net.URLStreamHandler
setURL
public void setURL(java.net.URL url,
java.lang.String protocol,
java.lang.String host,
int port,
java.lang.String file,
java.lang.String ref)
- Specified by:
setURL
in interface org.osgi.service.url.URLStreamHandlerSetter
- Overrides:
setURL
in class java.net.URLStreamHandler
toExternalForm
protected java.lang.String toExternalForm(java.net.URL url)
- Overrides:
toExternalForm
in class java.net.URLStreamHandler
invoke
public java.lang.Object invoke(java.lang.Object obj,
java.lang.reflect.Method method,
java.lang.Object[] params)
throws java.lang.Throwable
- Specified by:
invoke
in interface java.lang.reflect.InvocationHandler
- Throws:
java.lang.Throwable
Copyright © 2010. All Rights Reserved.