001 package org.shiftone.jrat.integration.aop.proxy;
002
003
004 import org.shiftone.jrat.api.Monitor;
005 import org.shiftone.jrat.util.log.Logger;
006
007 import java.lang.reflect.InvocationHandler;
008 import java.lang.reflect.Method;
009
010
011 /**
012 * @author jeff@shiftone.org (Jeff Drost)
013 */
014 public class ProxyInvocationHandler implements InvocationHandler {
015
016 private static final Logger LOG = Logger.getLogger(ProxyInvocationHandler.class);
017 private final Object target;
018
019 public ProxyInvocationHandler(Object target) {
020 this.target = target;
021 }
022
023
024 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
025 return Monitor.execute(method, target, new ProxyCommand(target, method, args));
026 }
027 }