?? logproxy.java
字號:
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package smartproxy.proxies;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
* This is a smart proxy wrapper that logs calls
*
* Note that it is not tightly bound to the remote object interface,
* and can therefore be reused with any remote object(!)
*
* @author Rickard 謆erg (rickard@dreambean.com)
* @version $Revision:$
*/
public class LogProxy
implements InvocationHandler, java.io.Serializable, LinkedProxy
{
Object next;
// Constructors --------------------------------------------------
public LogProxy(Object next)
{
this.next = next;
}
// Public --------------------------------------------------------
public Object invoke(Object proxy,
Method method,
Object[] args)
throws Throwable
{
// Log call
String log = method.getDeclaringClass().getName()+"."+method.getName()+"(";
for (int i = 0; i < args.length; i++)
{
log += (i>0?",":"")+args[i].toString();
}
log += ")";
System.out.println(log);
try
{
return method.invoke(next, args);
} catch (InvocationTargetException e)
{
throw e.getTargetException();
}
}
public Object getNext()
{
return next;
}
public void setNext(Object next)
{
this.next = next;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -