List of usage examples for org.springframework.beans.factory.config BeanDefinition getOriginatingBeanDefinition
@Nullable BeanDefinition getOriginatingBeanDefinition();
From source file:net.sourceforge.jabm.spring.PropertyOverrideWithReferencesConfigurer.java
@Override protected void applyPropertyValue(ConfigurableListableBeanFactory factory, String beanName, String property, String value) {//from w w w . j a v a 2 s . com if (value != null && value.length() > 0 && !(value.charAt(0) == '&')) { super.applyPropertyValue(factory, beanName, property, value); } else { BeanDefinition bd = factory.getBeanDefinition(beanName); while (bd.getOriginatingBeanDefinition() != null) { bd = bd.getOriginatingBeanDefinition(); } Object referencedValue = new RuntimeBeanReference(value.substring(1)); PropertyValue pv = new PropertyValue(property, referencedValue); pv.setOptional(false); bd.getPropertyValues().addPropertyValue(pv); } }
From source file:net.jakubholy.jeeutils.jsfelcheck.beanfinder.SpringContextBeanFinder.java
private String extractBeanType(String beanName, BeanDefinition beanDefinition) { final String definedType = beanDefinition.getBeanClassName(); String actualType = definedType; // Bypass proxies etc. (perhaps there can be more levels of decorators?) // TODO test more BeanDefinition decoratedBeanDef;/* w w w . ja v a 2 s . c o m*/ while ((decoratedBeanDef = beanDefinition.getOriginatingBeanDefinition()) != null) { actualType = decoratedBeanDef.getBeanClassName(); LOG.info("Found bean " + beanName + " wrapped with a decorator; using the original type " + actualType + "; decorator: " + definedType); } return actualType; }
From source file:org.carewebframework.api.spring.FrameworkBeanFactory.java
/** * Searches this bean definition and all originating bean definitions until it finds the * requested attribute.//from w ww . j a v a 2 s. c o m * * @param beanDefinition Bean definition. * @param attributeName Attribute to locate. * @return The value of the attribute, or null if not found. */ private String getAttribute(BeanDefinition beanDefinition, String attributeName) { String value = null; while (beanDefinition != null) { value = (String) beanDefinition.getAttribute(attributeName); if (value != null) { break; } beanDefinition = beanDefinition.getOriginatingBeanDefinition(); } return value; }