001 package org.shiftone.jrat.integration.aop.alliance;
002
003
004 import org.aopalliance.intercept.MethodInterceptor;
005 import org.aopalliance.intercept.MethodInvocation;
006 import org.shiftone.jrat.api.Monitor;
007
008
009 /**
010 * @author jeff@shiftone.org (Jeff Drost)
011 * @link http://aopalliance.sourceforge.net
012 */
013 public class AllianceMethodInterceptor implements MethodInterceptor {
014
015 private static final MethodInterceptor INSTANCE = new AllianceMethodInterceptor();
016
017 public static MethodInterceptor getInstance() {
018 return INSTANCE;
019 }
020
021
022 public Object invoke(MethodInvocation methodInvocation) throws Throwable {
023 return Monitor.execute(methodInvocation.getMethod(), methodInvocation.getThis(),
024 new AllianceMethodInvocationCommand(methodInvocation));
025 }
026 }