public Object getTargetObject() { return wrapped.getTargetObject(); }
public Object getTargetObject() { return delegate.getTargetObject(); }
/** * Invokes the target joinpoint for this invocation skipping any subsequent * interceptors in the chain. */ public Object invokeTarget() throws Throwable { try { return getActualMethod().invoke(getTargetObject(), arguments); } catch (Throwable t) { throw handleErrors(getTargetObject(), getMethod(), arguments, t); } }
private void logMethod(boolean beforeAfter, Invocation invocation, Object result, Throwable t) { MethodInvocation mi = (MethodInvocation) invocation; StringBuilder builder = new StringBuilder(); Object target = mi.getTargetObject(); builder.append(target.getClass().getSimpleName()); builder.append('@'); builder.append(System.identityHashCode(target)); if (beforeAfter == false) builder.append(" before "); else builder.append(" after "); builder.append(mi.getActualMethod().getName()); if (beforeAfter == false) { builder.append(" params="); builder.append(Arrays.asList(mi.getArguments())); } else if (t == null) { builder.append(" result="); builder.append(result); } if (t != null) builder.append(" ended in error:"); log.trace(builder.toString(), t); } }
/** * Copies complete state of Invocation object. * * @return a copy of this instance */ public Invocation copy() { MethodInvocation wrapper = new MethodInvocation(interceptors, methodHash, advisedMethod, unadvisedMethod, advisor); wrapper.metadata = this.metadata; wrapper.currentInterceptor = this.currentInterceptor; wrapper.instanceResolver = this.instanceResolver; wrapper.setTargetObject(this.getTargetObject()); wrapper.setArguments(this.getArguments()); return wrapper; }
/** * */ public Object invoke(org.jboss.aop.joinpoint.Invocation invocation) throws Throwable { if (invocation instanceof MethodInvocation) { org.jboss.aop.joinpoint.MethodInvocation methodInvocation = (org.jboss.aop.joinpoint.MethodInvocation)invocation; long methodHash = methodInvocation.getMethodHash(); Method managerMethod = manager.isManagerMethod(methodHash); if (managerMethod != null) { Object[] args = methodInvocation.getArguments(); return managerMethod.invoke(manager, args); } Object target = methodInvocation.getTargetObject(); Method method = methodInvocation.getMethod(); if (method == null) { HashMap methodMap = manager.getMethodMap(); MethodPersistentReference ref = (MethodPersistentReference)methodMap.get(new Long(methodHash)); method = (Method)ref.get(); } return method.invoke(target, methodInvocation.getArguments()); } return invocation.invokeNext(); }
return invokeWithoutAdvisement(methodInvocation.getTargetObject(), methodInvocation.getMethodHash(), methodInvocation.getArguments());