public void process(Object instance) { configurationRepository.register(new ForMethodOnlyBeansDummyAttribute(instance)); if (instance instanceof ConfigurationTarget) process((ConfigurationTarget) instance, instance); else process(new SimpleNameConfigurationTarget(instance), instance); }
@Override public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { if (typeIsConfigured(bean.getClass())) { // fake a single attribute configurationRepository.register(new ForMethodOnlyBeansDummyAttribute(bean)); new Reflector() .forEachField(new ConfigKeyProcessor(configurationRepository)) .process(bean); } return true; }
@Override public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { if (typeIsConfigured(bean.getClass())) { // fake a single attribute configurationRepository.register(new ForMethodOnlyBeansDummyAttribute(bean)); new Reflector() .forEachField(new ConfigKeyProcessor(configurationRepository)) .process(bean); } return true; }
@Override public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { if (typeIsConfigured(bean.getClass())) { // fake a single attribute configurationRepository.register(new ForMethodOnlyBeansDummyAttribute(bean)); new Reflector() .forEachField(new ConfigKeyProcessor(configurationRepository)) .process(bean); // find any PreStart methods new Reflector() .forEachMethod(new AnnotatedMethodProcessor(PreStart.class) { @Override public void processMethod(Object target, Method method) { preStartRepository.registerPreStart(target, method); } }).process(bean); } return true; }