All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.frameworkset.proxy.TestInvocationHandler Maven / Gradle / Ivy

Go to download

bboss is a j2ee framework include aop/ioc,mvc,persistent,taglib,rpc,event ,bean-xml serializable and so on.http://www.bbossgroups.com

There is a newer version: 6.2.5
Show newest version
package com.frameworkset.proxy;

import java.lang.reflect.Method;
import java.lang.reflect.UndeclaredThrowableException;
import java.util.ArrayList;
import java.util.List;

/**
 * 

Title:

* *

Description:

* *

Copyright: Copyright (c) 2005

* *

Company:

* * @author biaoping.yin * @version 1.0 */ public class TestInvocationHandler extends InvocationHandler { /** * Processes a method invocation on a proxy instance and returns the * result. * * @param proxy the proxy instance that the method was invoked on * @param method the Method instance corresponding to the * interface method invoked on the proxy instance. The declaring class * of the Method object will be the interface that the * method was declared in, which may be a superinterface of the proxy * interface that the proxy class inherits the method through. * @param args an array of objects containing the values of the * arguments passed in the method invocation on the proxy instance, or * null if interface method takes no arguments. Arguments * of primitive types are wrapped in instances of the appropriate * primitive wrapper class, such as java.lang.Integer or * java.lang.Boolean. * @return the value to return from the method invocation on the proxy * instance. If the declared return type of the interface method is a * primitive type, then the value returned by this method must be an * instance of the corresponding primitive wrapper class; otherwise, * it must be a type assignable to the declared return type. If the * value returned by this method is null and the * interface method's return type is primitive, then a * NullPointerException will be thrown by the method * invocation on the proxy instance. If the value returned by this * method is otherwise not compatible with the interface method's * declared return type as described above, a * ClassCastException will be thrown by the method * invocation on the proxy instance. * @throws Throwable the exception to throw from the method invocation * on the proxy instance. The exception's type must be assignable * either to any of the exception types declared in the * throws clause of the interface method or to the * unchecked exception types java.lang.RuntimeException * or java.lang.Error. If a checked exception is thrown * by this method that is not assignable to any of the exception types * declared in the throws clause of the interface method, * then an {@link UndeclaredThrowableException} containing the * exception that was thrown by this method will be thrown by the * method invocation on the proxy instance. * @todo Implement this java.lang.reflect.InvocationHandler method */ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { List list = new ArrayList(); for(int i = 0; i < 5; i ++) { TestProxyImpl t = new TestProxyImpl(); t.setString("hello" + i); list.add(t); } Object obj = method.invoke(super.delegate,args); for(int i = 0; i < 5; i ++) { System.out.println(obj); obj = method.invoke(list.get(i), args); } return obj; } public TestInvocationHandler(Object delegate) { super(delegate); } public static void main(String[] args) { } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy