當前位置: 首頁>>代碼示例>>Java>>正文


Java DatastoreCommodityRegistrar類代碼示例

本文整理匯總了Java中com.holonplatform.core.datastore.DatastoreCommodityRegistrar的典型用法代碼示例。如果您正苦於以下問題:Java DatastoreCommodityRegistrar類的具體用法?Java DatastoreCommodityRegistrar怎麽用?Java DatastoreCommodityRegistrar使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


DatastoreCommodityRegistrar類屬於com.holonplatform.core.datastore包,在下文中一共展示了DatastoreCommodityRegistrar類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: configureDatastoreCommodityFactories

import com.holonplatform.core.datastore.DatastoreCommodityRegistrar; //導入依賴的package包/類
/**
 * Register {@link com.holonplatform.spring.DatastoreCommodityFactory} annotated beans as <code>datastore</code>
 * {@link DatastoreCommodityFactory}s.
 * @param datastore Datastore to configure
 * @param datastoreBeanName Datastore bean name to configure
 * @param beanFactory Bean factory
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
private static void configureDatastoreCommodityFactories(Datastore datastore, String datastoreBeanName,
		ListableBeanFactory beanFactory) {
	if (datastore instanceof DatastoreCommodityRegistrar) {
		final Class<? extends DatastoreCommodityFactory> baseType = ((DatastoreCommodityRegistrar<?>) datastore)
				.getCommodityFactoryType();
		if (baseType != null) {
			final String[] beanNames = beanFactory
					.getBeanNamesForAnnotation(com.holonplatform.spring.DatastoreCommodityFactory.class);
			if (beanNames != null && beanNames.length > 0) {
				for (String beanName : beanNames) {
					com.holonplatform.spring.DatastoreCommodityFactory dr = beanFactory.findAnnotationOnBean(
							beanName, com.holonplatform.spring.DatastoreCommodityFactory.class);
					String datastoreRef = AnnotationUtils.getStringValue(dr.datastoreBeanName());
					if (datastoreRef == null || datastoreRef.equals(datastoreBeanName)) {
						if (!baseType.isAssignableFrom(beanFactory.getType(beanName))) {
							throw new BeanNotOfRequiredTypeException(beanName, baseType,
									beanFactory.getType(beanName));
						}
						// register resolver
						DatastoreCommodityFactory datastoreCommodityFactory = (DatastoreCommodityFactory) beanFactory
								.getBean(beanName);
						((DatastoreCommodityRegistrar) datastore).registerCommodity(datastoreCommodityFactory);
						LOGGER.debug(() -> "Registered factory [" + datastoreCommodityFactory.getClass().getName()
								+ "] into Datastore with bean name [" + datastoreBeanName + "]");
					}
				}
			}
		} else {
			LOGGER.debug(
					() -> "Datastore [" + datastore + "] does not declares a DatastoreCommodityFactory base type: "
							+ "skipping DatastoreCommodityFactory beans configuration");
		}
	} else {
		LOGGER.debug(() -> "Datastore [" + datastore
				+ "] is not a DatastoreCommodityRegistrar: skipping DatastoreCommodityFactory beans configuration");
	}
}
 
開發者ID:holon-platform,項目名稱:holon-core,代碼行數:46,代碼來源:DatastoreInitializer.java


注:本文中的com.holonplatform.core.datastore.DatastoreCommodityRegistrar類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。