org.jboss.aspects.asynch
Class FutureInvocationHandler

java.lang.Object
  extended by org.jboss.aop.proxy.Proxy
      extended by org.jboss.aspects.asynch.FutureInvocationHandler
All Implemented Interfaces:
java.io.Serializable, java.lang.reflect.InvocationHandler, org.jboss.aop.InstanceAdvised, org.jboss.aop.instrument.Untransformable, org.jboss.aop.proxy.MethodMapped

public class FutureInvocationHandler
extends org.jboss.aop.proxy.Proxy
implements java.lang.reflect.InvocationHandler, org.jboss.aop.instrument.Untransformable, java.io.Serializable

An invocation handler for the Future interface using dynamic proxies. It is an alternative to having generated proxies for use with EJB 3, avoiding client relying on javassist in the EJB 3 client proxies

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jboss.aop.proxy.Proxy
guid, instanceAdvisor, interfaces, mixins
 
Constructor Summary
FutureInvocationHandler()
           
 
Method Summary
static java.lang.Object createFutureProxy(org.jboss.util.id.GUID guid, java.lang.ClassLoader loader, java.lang.Class[] interfaces)
           
 java.util.Map getMethodMap()
           
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
 java.lang.Object writeReplace()
          Override Proxy implementation so we get default behaviour.
 
Methods inherited from class org.jboss.aop.proxy.Proxy
_dynamicInvoke, _getInstanceAdvisor, _setInstanceAdvisor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FutureInvocationHandler

public FutureInvocationHandler()
Method Detail

createFutureProxy

public static java.lang.Object createFutureProxy(org.jboss.util.id.GUID guid,
                                                 java.lang.ClassLoader loader,
                                                 java.lang.Class[] interfaces)
                                          throws java.lang.Exception
Throws:
java.lang.Exception

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable

writeReplace

public java.lang.Object writeReplace()
                              throws java.io.ObjectStreamException
Override Proxy implementation so we get default behaviour. Reason is to avoid client dependencies on javassist in EJB 3 asynchronous proxies

Overrides:
writeReplace in class org.jboss.aop.proxy.Proxy
Throws:
java.io.ObjectStreamException

getMethodMap

public java.util.Map getMethodMap()
Specified by:
getMethodMap in interface org.jboss.aop.proxy.MethodMapped
Specified by:
getMethodMap in class org.jboss.aop.proxy.Proxy