List of usage examples for org.springframework.beans.factory ObjectFactory getObject
T getObject() throws BeansException;
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; }