001 package org.shiftone.jrat.integration.aop.cglib;
002
003
004 import net.sf.cglib.proxy.MethodProxy;
005 import org.shiftone.jrat.api.Command;
006
007
008 /**
009 * @author jeff@shiftone.org (Jeff Drost)
010 */
011 public class CglibMethodInvocationCommand implements Command {
012
013 private final Object target;
014 private final Object[] args;
015 private final MethodProxy methodProxy;
016
017 public CglibMethodInvocationCommand(MethodProxy methodProxy, Object target, Object[] args) {
018
019 this.target = target;
020 this.methodProxy = methodProxy;
021 this.args = args;
022 }
023
024
025 public Object execute() throws Throwable {
026 return methodProxy.invoke(target, args);
027 }
028 }