org.openejb.util.proxy
Class Jdk13ProxyFactory

java.lang.Object
  extended by org.openejb.util.proxy.Jdk13ProxyFactory
All Implemented Interfaces:
ProxyFactory

public class Jdk13ProxyFactory
extends java.lang.Object
implements ProxyFactory

Implementation of ProxyFactory for JDK 1.3 Proxies. This only compiles on JDK 1.3 or better. It is very fast because it builds the proxies out of raw bytecode.

Version:
$Revision: 1096 $
Author:
Aaron Mulder (ammulder@alumni.princeton.edu)

Constructor Summary
Jdk13ProxyFactory()
           
 
Method Summary
 InvocationHandler getInvocationHandler(java.lang.Object proxy)
          Returns the invocation handler for the specified proxy instance.
 java.lang.Class getProxyClass(java.lang.Class interfce)
          Returns the java.lang.Class object for a proxy class given a class loader and an array of interfaces.
 java.lang.Class getProxyClass(java.lang.Class[] interfaces)
          Returns the java.lang.Class object for a proxy class given a class loader and an array of interfaces.
 void init(java.util.Properties props)
           
 boolean isProxyClass(java.lang.Class cl)
           
 java.lang.Object newProxyInstance(java.lang.Class proxyClass)
          Returns a new proxy instance from the specified proxy class.
 java.lang.Object newProxyInstance(java.lang.Class[] interfaces, InvocationHandler h)
           
 java.lang.Object newProxyInstance(java.lang.Class interfce, InvocationHandler h)
           
 java.lang.Object setInvocationHandler(java.lang.Object proxy, InvocationHandler handler)
          Sets the invocation handler for the specified proxy instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Jdk13ProxyFactory

public Jdk13ProxyFactory()
Method Detail

init

public void init(java.util.Properties props)
          throws OpenEJBException
Specified by:
init in interface ProxyFactory
Throws:
OpenEJBException

getInvocationHandler

public InvocationHandler getInvocationHandler(java.lang.Object proxy)
                                       throws java.lang.IllegalArgumentException
Returns the invocation handler for the specified proxy instance.

Specified by:
getInvocationHandler in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException

setInvocationHandler

public java.lang.Object setInvocationHandler(java.lang.Object proxy,
                                             InvocationHandler handler)
                                      throws java.lang.IllegalArgumentException
Sets the invocation handler for the specified proxy instance.

Specified by:
setInvocationHandler in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException

getProxyClass

public java.lang.Class getProxyClass(java.lang.Class interfce)
                              throws java.lang.IllegalArgumentException
Returns the java.lang.Class object for a proxy class given a class loader and an array of interfaces.

Specified by:
getProxyClass in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException

getProxyClass

public java.lang.Class getProxyClass(java.lang.Class[] interfaces)
                              throws java.lang.IllegalArgumentException
Returns the java.lang.Class object for a proxy class given a class loader and an array of interfaces.

Specified by:
getProxyClass in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException

isProxyClass

public boolean isProxyClass(java.lang.Class cl)
Specified by:
isProxyClass in interface ProxyFactory

newProxyInstance

public java.lang.Object newProxyInstance(java.lang.Class proxyClass)
                                  throws java.lang.IllegalArgumentException
Description copied from interface: ProxyFactory
Returns a new proxy instance from the specified proxy class. The interface(s) implemented by the proxy instance are determined by the proxy class. The class name may or may not be meaningful, depending on the implementation.

Specified by:
newProxyInstance in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException - Occurs when the specified class is not a proxy class.

newProxyInstance

public java.lang.Object newProxyInstance(java.lang.Class interfce,
                                         InvocationHandler h)
                                  throws java.lang.IllegalArgumentException
Specified by:
newProxyInstance in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException

newProxyInstance

public java.lang.Object newProxyInstance(java.lang.Class[] interfaces,
                                         InvocationHandler h)
                                  throws java.lang.IllegalArgumentException
Specified by:
newProxyInstance in interface ProxyFactory
Throws:
java.lang.IllegalArgumentException


Copyright © 1999-2011 OpenEJB. All Rights Reserved.