private Object decorateComponentInstance( Parameter[] matchingParameters, ComponentMonitor componentMonitor, Object componentInstance, PicoContainer container, PicoContainer guardedContainer) { AccessibleObject member = null; Object injected[] = new Object[injectionMembers.size()]; Object lastReturn = null; try { for (int i = 0; i < injectionMembers.size(); i++) { member = injectionMembers.get(i); componentMonitor.invoking(container, this, (Member) member, componentInstance); if (matchingParameters[i] != null) { Object toInject = matchingParameters[i].resolveInstance( guardedContainer, this, injectionTypes[i], makeParameterNameImpl(injectionMembers.get(i)), useNames(), bindings[i]); lastReturn = injectIntoMember(member, componentInstance, toInject); injected[i] = toInject; } } return memberInvocationReturn(lastReturn, member, componentInstance); } catch (InvocationTargetException e) { return caughtInvocationTargetException( componentMonitor, (Member) member, componentInstance, e); } catch (IllegalAccessException e) { return caughtIllegalAccessException(componentMonitor, (Member) member, componentInstance, e); } }
public void invoking( PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance) { delegate.invoking(container, componentAdapter, member, instance); }
public Object invoking( PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, Object[] args) { out.println(format(ComponentMonitorHelper.INVOKING, memberToString(member), instance)); return delegate.invoking(container, componentAdapter, member, instance, args); }
private Object decorateComponentInstance( Parameter[] matchingParameters, ComponentMonitor monitor, Object componentInstance, PicoContainer container, PicoContainer guardedContainer, Type into) { AccessibleObject member = null; Object injected[] = new Object[injectionMembers.size()]; Object lastReturn = null; try { for (int i = 0; i < injectionMembers.size(); i++) { member = injectionMembers.get(i); if (matchingParameters[i] != null) { Object toInject = matchingParameters[i] .resolve( guardedContainer, this, null, injectionTypes[i], makeParameterNameImpl(injectionMembers.get(i)), useNames(), bindings[i]) .resolveInstance(into); Object rv = monitor.invoking( container, this, (Member) member, componentInstance, new Object[] {toInject}); if (rv == ComponentMonitor.KEEP) { long str = System.currentTimeMillis(); lastReturn = injectIntoMember(member, componentInstance, toInject); monitor.invoked( container, this, (Member) member, componentInstance, System.currentTimeMillis() - str, lastReturn, new Object[] {toInject}); } else { lastReturn = rv; } injected[i] = toInject; } } return memberInvocationReturn(lastReturn, member, componentInstance); } catch (InvocationTargetException e) { return caughtInvocationTargetException(monitor, (Member) member, componentInstance, e); } catch (IllegalAccessException e) { return caughtIllegalAccessException(monitor, (Member) member, componentInstance, e); } }
protected Object invoke(final Object target) { final Method method = getMethod(); try { componentMonitor.invoking(method, target); final long startTime = System.currentTimeMillis(); super.invoke(target); componentMonitor.invoked(method, target, System.currentTimeMillis() - startTime); } catch (final PicoIntrospectionException e) { componentMonitor.invocationFailed(method, target, (Exception) e.getCause()); throw e; } return Void.TYPE; }
public void invoking( PicoContainer container, ComponentAdapter componentAdapter, Member member, Object instance) { out.println(format(ComponentMonitorHelper.INVOKING, memberToString(member), instance)); delegate.invoking(container, componentAdapter, member, instance); }