Example usage for org.springframework.beans.factory.config BeanDefinition getOriginatingBeanDefinition

List of usage examples for org.springframework.beans.factory.config BeanDefinition getOriginatingBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config BeanDefinition getOriginatingBeanDefinition.

Prototype

@Nullable
BeanDefinition getOriginatingBeanDefinition();

Source Link

Document

Return the originating BeanDefinition, or null if none.

Usage

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;
}