org.apache.jetspeed.util
Class DelegatingObjectProxy

java.lang.Object
  extended by org.apache.jetspeed.util.BaseObjectProxy
      extended by org.apache.jetspeed.util.DelegatingObjectProxy
All Implemented Interfaces:
java.lang.reflect.InvocationHandler

public class DelegatingObjectProxy
extends BaseObjectProxy

DelegatingObjectProxy is a convenient utility class to provide a dynamic proxy by using delegating object(s). If a delegator object containing the invoked method is found, the proxy will invoke the method of the delegator object.

Version:
$Id: DelegatingObjectProxy.java 758985 2009-03-27 02:28:14Z ate $
Author:
Woonsan Ko

Field Summary
protected  java.util.Map<java.lang.reflect.Method,org.apache.jetspeed.util.DelegatingObjectProxy.ObjectMethodPair> delegatorObjectMethodPairCache
           
protected  java.lang.Object[] delegatorObjects
           
protected  java.lang.Class[] proxyInterfaces
           
 
Fields inherited from class org.apache.jetspeed.util.BaseObjectProxy
equalsMethod, hashCodeMethod, toStringMethod
 
Constructor Summary
DelegatingObjectProxy(java.lang.Class[] proxyInterfaces, java.lang.Object... delegatorObjects)
           
 
Method Summary
static java.lang.Object createProxy(java.lang.Class[] proxyInterfaces, java.lang.ClassLoader classLoader, java.lang.Object... delegatorObjects)
           
static java.lang.Object createProxy(java.lang.Class[] proxyInterfaces, java.lang.Object... delegatorObjects)
           
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
 
Methods inherited from class org.apache.jetspeed.util.BaseObjectProxy
proxyEquals, proxyHashCode, proxyToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

delegatorObjects

protected java.lang.Object[] delegatorObjects

proxyInterfaces

protected java.lang.Class[] proxyInterfaces

delegatorObjectMethodPairCache

protected java.util.Map<java.lang.reflect.Method,org.apache.jetspeed.util.DelegatingObjectProxy.ObjectMethodPair> delegatorObjectMethodPairCache
Constructor Detail

DelegatingObjectProxy

public DelegatingObjectProxy(java.lang.Class[] proxyInterfaces,
                             java.lang.Object... delegatorObjects)
Method Detail

createProxy

public static java.lang.Object createProxy(java.lang.Class[] proxyInterfaces,
                                           java.lang.Object... delegatorObjects)

createProxy

public static java.lang.Object createProxy(java.lang.Class[] proxyInterfaces,
                                           java.lang.ClassLoader classLoader,
                                           java.lang.Object... delegatorObjects)

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
Overrides:
invoke in class BaseObjectProxy
Throws:
java.lang.Throwable


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.