org.apache.aries.proxy.impl
Class AbstractProxyManager

java.lang.Object
  extended by org.apache.aries.proxy.impl.AbstractProxyManager
All Implemented Interfaces:
ProxyManager
Direct Known Subclasses:
AsmProxyManager, JdkProxyManager

public abstract class AbstractProxyManager
extends java.lang.Object
implements ProxyManager


Constructor Summary
AbstractProxyManager()
           
 
Method Summary
protected abstract  java.lang.Object createNewProxy(org.osgi.framework.Bundle clientBundle, java.util.Collection<java.lang.Class<?>> classes, java.lang.reflect.InvocationHandler ih)
           
 java.lang.Object createProxy(org.osgi.framework.Bundle clientBundle, java.util.Collection<java.lang.Class<?>> classes, java.util.concurrent.Callable<java.lang.Object> dispatcher)
           
 java.lang.Object createProxy(org.osgi.framework.Bundle clientBundle, java.util.Collection<java.lang.Class<?>> classes, java.util.concurrent.Callable<java.lang.Object> dispatcher, InvocationHandlerWrapper wrapper)
           
protected  java.lang.ClassLoader getClassLoader(org.osgi.framework.Bundle clientBundle, java.util.Collection<java.lang.Class<?>> classes)
           
protected abstract  java.lang.reflect.InvocationHandler getInvocationHandler(java.lang.Object proxy)
           
 boolean isProxy(java.lang.Object proxy)
          Returns true if and only if the specified object was generated by a ProxyFactory returned by a call to ProxyManager#createProxyFactory(boolean).
protected abstract  boolean isProxyClass(java.lang.Class<?> clazz)
           
 java.util.concurrent.Callable<java.lang.Object> unwrap(java.lang.Object proxy)
          This method unwraps the provided proxy returning the target object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractProxyManager

public AbstractProxyManager()
Method Detail

createProxy

public final java.lang.Object createProxy(org.osgi.framework.Bundle clientBundle,
                                          java.util.Collection<java.lang.Class<?>> classes,
                                          java.util.concurrent.Callable<java.lang.Object> dispatcher)
                                   throws UnableToProxyException
Specified by:
createProxy in interface ProxyManager
Throws:
UnableToProxyException

createProxy

public final java.lang.Object createProxy(org.osgi.framework.Bundle clientBundle,
                                          java.util.Collection<java.lang.Class<?>> classes,
                                          java.util.concurrent.Callable<java.lang.Object> dispatcher,
                                          InvocationHandlerWrapper wrapper)
                                   throws UnableToProxyException
Specified by:
createProxy in interface ProxyManager
Throws:
UnableToProxyException

unwrap

public final java.util.concurrent.Callable<java.lang.Object> unwrap(java.lang.Object proxy)
Description copied from interface: ProxyManager
This method unwraps the provided proxy returning the target object.

Specified by:
unwrap in interface ProxyManager
Parameters:
proxy - the proxy to unwrap.
Returns:
the target object.

isProxy

public final boolean isProxy(java.lang.Object proxy)
Description copied from interface: ProxyManager
Returns true if and only if the specified object was generated by a ProxyFactory returned by a call to ProxyManager#createProxyFactory(boolean).

Specified by:
isProxy in interface ProxyManager
Parameters:
proxy - The proxy object to test
Returns:
true if it is a proxy, false otherwise.

createNewProxy

protected abstract java.lang.Object createNewProxy(org.osgi.framework.Bundle clientBundle,
                                                   java.util.Collection<java.lang.Class<?>> classes,
                                                   java.lang.reflect.InvocationHandler ih)
                                            throws UnableToProxyException
Throws:
UnableToProxyException

getInvocationHandler

protected abstract java.lang.reflect.InvocationHandler getInvocationHandler(java.lang.Object proxy)

isProxyClass

protected abstract boolean isProxyClass(java.lang.Class<?> clazz)

getClassLoader

protected java.lang.ClassLoader getClassLoader(org.osgi.framework.Bundle clientBundle,
                                               java.util.Collection<java.lang.Class<?>> classes)


Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.