/** * Invokes single method injection point on given bean with given bean definition. */ protected void wireMethods() { for (final MethodInjectionPoint methodRef : definition().methods) { invokeMethodInjectionPoint(methodRef); } }
/** * Invokes the method of some bean with the container, when its parameters requires to be injected into. * The bean is <b>not</b> registered within container. */ public <T> T invokeMethod(final Object bean, final Method method) { final WiringMode wiringMode = petiteConfig.resolveWiringMode(null); final BeanDefinition def = externalsCache.get( bean.getClass(), () -> { final BeanDefinition beanDefinition = createBeandDefinitionForExternalBeans(bean.getClass(), wiringMode); initBeanDefinition(beanDefinition); return beanDefinition; }); final BeanData beanData = new BeanData(this, def, bean); for (MethodInjectionPoint methodInjectionPoint : def.methods) { if (methodInjectionPoint.method.equals(method)) { return (T) beanData.invokeMethodInjectionPoint(methodInjectionPoint); } } try { return (T) method.invoke(bean); } catch (Exception e) { throw new PetiteException(e); } }
/** * Invokes single method injection point on given bean with given bean definition. */ protected void wireMethods() { for (final MethodInjectionPoint methodRef : definition().methods) { invokeMethodInjectionPoint(methodRef); } }
/** * Invokes the method of some bean with the container, when its parameters requires to be injected into. * The bean is <b>not</b> registered within container. */ public <T> T invokeMethod(final Object bean, final Method method) { final WiringMode wiringMode = petiteConfig.resolveWiringMode(null); final BeanDefinition def = externalsCache.get( bean.getClass(), () -> { final BeanDefinition beanDefinition = createBeandDefinitionForExternalBeans(bean.getClass(), wiringMode); initBeanDefinition(beanDefinition); return beanDefinition; }); final BeanData beanData = new BeanData(this, def, bean); for (MethodInjectionPoint methodInjectionPoint : def.methods) { if (methodInjectionPoint.method.equals(method)) { return (T) beanData.invokeMethodInjectionPoint(methodInjectionPoint); } } try { return (T) method.invoke(bean); } catch (Exception e) { throw new PetiteException(e); } }