Example usage for org.springframework.beans.factory ObjectFactory getObject

List of usage examples for org.springframework.beans.factory ObjectFactory getObject

Introduction

In this page you can find the example usage for org.springframework.beans.factory ObjectFactory getObject.

Prototype

T getObject() throws BeansException;

Source Link

Document

Return an instance (possibly shared or independent) of the object managed by this factory.

Usage

From source file:org.springframework.osgi.context.support.internal.OsgiBundleScope.java

public Object get(String name, ObjectFactory objectFactory) {
    // outside bundle calling (no need to cache things)
    if (isExternalBundleCalling()) {
        Object bean = objectFactory.getObject();

        return bean;
    }/*  ww  w  .j a v  a 2 s . c  o m*/
    // in-appCtx call
    else {
        // use local bean repository
        // cannot use a concurrent map since we want to postpone the call to
        // getObject
        synchronized (localBeans) {
            Object bean = localBeans.get(name);
            if (bean == null) {
                bean = objectFactory.getObject();
                localBeans.put(name, bean);
            }
            return bean;
        }
    }

}

From source file:org.springframework.webflow.scope.AbstractWebFlowScope.java

public Object get(String name, ObjectFactory<?> objectFactory) {
    MutableAttributeMap<Object> scope = getScope();
    Object scopedObject = scope.get(name);
    if (scopedObject == null) {
        if (logger.isDebugEnabled()) {
            logger.debug("No scoped instance '" + name + "' found; creating new instance");
        }//ww  w. ja  v a2s .  c  o  m
        scopedObject = objectFactory.getObject();
        scope.put(name, scopedObject);
    } else {
        if (logger.isDebugEnabled()) {
            logger.debug("Returning scoped instance '" + name + "'");
        }
    }
    return scopedObject;
}

From source file:org.vaadin.spring.internal.VaadinUIScope.java

@Override
public Object get(String name, ObjectFactory<?> objectFactory) {
    final VaadinUIIdentifier uiIdentifier = currentUiId();
    logger.debug(String.format("Getting bean with name [%s] from UI space [%s]", name, uiIdentifier));
    Map<String, Object> uiSpace = objectMap.get(uiIdentifier);
    if (uiSpace == null) {
        logger.debug(String.format("Creating new UI space [%s]", uiIdentifier));
        uiSpace = new ConcurrentHashMap<>();
        objectMap.put(uiIdentifier, uiSpace);
    }/*from  w  w  w  .ja  va 2s  .  c  o  m*/

    Object bean = uiSpace.get(name);
    if (bean == null) {
        logger.debug(String.format("Bean [%s] not found in UI space [%s], invoking object factory", name,
                uiIdentifier));
        bean = objectFactory.getObject();
        if (bean instanceof UI) {
            ((UI) bean).addDetachListener(this);
        }
        uiSpace.put(name, bean);
    }

    logger.debug(
            String.format("Returning bean [%s] with name [%s] from UI space [%s]", bean, name, uiIdentifier));
    return bean;
}