当前位置: 首页>>代码示例>>Java>>正文


Java FactoryBean.getObjectType方法代码示例

本文整理汇总了Java中org.springframework.beans.factory.FactoryBean.getObjectType方法的典型用法代码示例。如果您正苦于以下问题:Java FactoryBean.getObjectType方法的具体用法?Java FactoryBean.getObjectType怎么用?Java FactoryBean.getObjectType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.springframework.beans.factory.FactoryBean的用法示例。


在下文中一共展示了FactoryBean.getObjectType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getTypeForFactoryBean

import org.springframework.beans.factory.FactoryBean; //导入方法依赖的package包/类
/**
 * Determine the type for the given FactoryBean.
 * @param factoryBean the FactoryBean instance to check
 * @return the FactoryBean's object type,
 * or {@code null} if the type cannot be determined yet
 */
protected Class<?> getTypeForFactoryBean(final FactoryBean<?> factoryBean) {
	try {
		if (System.getSecurityManager() != null) {
			return AccessController.doPrivileged(new PrivilegedAction<Class<?>>() {
				@Override
				public Class<?> run() {
					return factoryBean.getObjectType();
				}
			}, getAccessControlContext());
		}
		else {
			return factoryBean.getObjectType();
		}
	}
	catch (Throwable ex) {
		// Thrown from the FactoryBean's getObjectType implementation.
		logger.warn("FactoryBean threw exception from getObjectType, despite the contract saying " +
				"that it should return null if the type of its object cannot be determined yet", ex);
		return null;
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:28,代码来源:FactoryBeanRegistrySupport.java

示例2: getBeansOfType

import org.springframework.beans.factory.FactoryBean; //导入方法依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <T> Map<String, T> getBeansOfType(Class<T> type, boolean includeNonSingletons, boolean includeFactoryBeans)
		throws BeansException {

	boolean isFactoryType = (type != null && FactoryBean.class.isAssignableFrom(type));
	Map<String, T> matches = new HashMap<String, T>();

	for (Map.Entry<String, Object> entry : beans.entrySet()) {
		String beanName = entry.getKey();
		Object beanInstance = entry.getValue();
		// Is bean a FactoryBean?
		if (beanInstance instanceof FactoryBean && !isFactoryType) {
			if (includeFactoryBeans) {
				// Match object created by FactoryBean.
				FactoryBean<?> factory = (FactoryBean<?>) beanInstance;
				Class<?> objectType = factory.getObjectType();
				if ((includeNonSingletons || factory.isSingleton()) &&
						objectType != null && (type == null || type.isAssignableFrom(objectType))) {
					matches.put(beanName, getBean(beanName, type));
				}
			}
		}
		else {
			if (type == null || type.isInstance(beanInstance)) {
				// If type to match is FactoryBean, return FactoryBean itself.
				// Else, return bean instance.
				if (isFactoryType) {
					beanName = FACTORY_BEAN_PREFIX + beanName;
				}
				matches.put(beanName, (T) beanInstance);
			}
		}
	}
	return matches;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:37,代码来源:StaticListableBeanFactory.java

示例3: getBeansOfType

import org.springframework.beans.factory.FactoryBean; //导入方法依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <T> Map<String, T> getBeansOfType(Class<T> type, boolean includeNonSingletons, boolean allowEagerInit)
		throws BeansException {

	boolean isFactoryType = (type != null && FactoryBean.class.isAssignableFrom(type));
	Map<String, T> matches = new HashMap<String, T>();

	for (Map.Entry<String, Object> entry : this.beans.entrySet()) {
		String beanName = entry.getKey();
		Object beanInstance = entry.getValue();
		// Is bean a FactoryBean?
		if (beanInstance instanceof FactoryBean && !isFactoryType) {
			// Match object created by FactoryBean.
			FactoryBean<?> factory = (FactoryBean<?>) beanInstance;
			Class<?> objectType = factory.getObjectType();
			if ((includeNonSingletons || factory.isSingleton()) &&
					objectType != null && (type == null || type.isAssignableFrom(objectType))) {
				matches.put(beanName, getBean(beanName, type));
			}
		}
		else {
			if (type == null || type.isInstance(beanInstance)) {
				// If type to match is FactoryBean, return FactoryBean itself.
				// Else, return bean instance.
				if (isFactoryType) {
					beanName = FACTORY_BEAN_PREFIX + beanName;
				}
				matches.put(beanName, (T) beanInstance);
			}
		}
	}
	return matches;
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:35,代码来源:StaticListableBeanFactory.java

示例4: getBeansOfType

import org.springframework.beans.factory.FactoryBean; //导入方法依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <T> Map<String, T> getBeansOfType(Class<T> type, boolean includeNonSingletons, boolean allowEagerInit)
		throws BeansException {

	boolean isFactoryType = (type != null && FactoryBean.class.isAssignableFrom(type));
	Map<String, T> matches = new LinkedHashMap<String, T>();

	for (Map.Entry<String, Object> entry : this.beans.entrySet()) {
		String beanName = entry.getKey();
		Object beanInstance = entry.getValue();
		// Is bean a FactoryBean?
		if (beanInstance instanceof FactoryBean && !isFactoryType) {
			// Match object created by FactoryBean.
			FactoryBean<?> factory = (FactoryBean<?>) beanInstance;
			Class<?> objectType = factory.getObjectType();
			if ((includeNonSingletons || factory.isSingleton()) &&
					objectType != null && (type == null || type.isAssignableFrom(objectType))) {
				matches.put(beanName, getBean(beanName, type));
			}
		}
		else {
			if (type == null || type.isInstance(beanInstance)) {
				// If type to match is FactoryBean, return FactoryBean itself.
				// Else, return bean instance.
				if (isFactoryType) {
					beanName = FACTORY_BEAN_PREFIX + beanName;
				}
				matches.put(beanName, (T) beanInstance);
			}
		}
	}
	return matches;
}
 
开发者ID:txazo,项目名称:spring,代码行数:35,代码来源:StaticListableBeanFactory.java


注:本文中的org.springframework.beans.factory.FactoryBean.getObjectType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。