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


Java ParserContext.isNested方法代碼示例

本文整理匯總了Java中org.springframework.beans.factory.xml.ParserContext.isNested方法的典型用法代碼示例。如果您正苦於以下問題:Java ParserContext.isNested方法的具體用法?Java ParserContext.isNested怎麽用?Java ParserContext.isNested使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.springframework.beans.factory.xml.ParserContext的用法示例。


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

示例1: doParse

import org.springframework.beans.factory.xml.ParserContext; //導入方法依賴的package包/類
@Override
protected final void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    Assert.state(helper.isRedissonNS(element),
            "Illegal state. "
                    + this.getClass().getName()
            + " can only parse "
                    + RedissonNamespaceParserSupport.REDISSON_NAMESPACE
            + " namespace elements");
    Assert.state(element.hasAttribute(parentRefAttribute),
            "Illegal state. property \"" + parentRefAttribute 
                    + "\" is required in the \""
            + helper.getName(element)
            + "\" element.");
    
    helper.populateIdAttribute(element, builder, parserContext);
    AbstractBeanDefinition bd = builder.getRawBeanDefinition();
    parseNested(element, parserContext, builder, bd);
    decorator.decorate(element, parserContext, builder, helper);
    parserContext.getDelegate().parseQualifierElements(element, bd);
    if (parserContext.isNested()) {
        helper.registerBeanDefinition(builder, element, parserContext);
    }
}
 
開發者ID:qq1588518,項目名稱:JRediClients,代碼行數:24,代碼來源:AbstractRedissonNamespaceDefinitionParser.java

示例2: generateBeanName

import org.springframework.beans.factory.xml.ParserContext; //導入方法依賴的package包/類
protected String generateBeanName(String prefix, BeanDefinition def, ParserContext parserContext) {
	BeanDefinitionRegistry registry = parserContext.getRegistry();
	String name = prefix + BeanDefinitionReaderUtils.generateBeanName(def, registry);
	String generated = name;
	int counter = 0;

	while (registry.containsBeanDefinition(generated)) {
		generated = name + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR + counter;
		if (parserContext.isNested()) {
			generated = generated.concat("#generated");
		}
		counter++;
	}

	return generated;
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:17,代碼來源:AbstractReferenceDefinitionParser.java

示例3: createBeanDefinitionBuilder

import org.springframework.beans.factory.xml.ParserContext; //導入方法依賴的package包/類
public BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, ParserContext parserContext, Class<?> cls) {
    BeanDefinitionBuilder builder
            = BeanDefinitionBuilder.genericBeanDefinition();
    builder.getRawBeanDefinition().setBeanClass(cls);
    builder.getRawBeanDefinition()
            .setSource(parserContext.extractSource(element));
    if (parserContext.isNested()) {
        builder.setScope(parserContext.getContainingBeanDefinition()
                .getScope());
    }
    if (parserContext.isDefaultLazyInit()) {
        builder.setLazyInit(true);
    }
    return builder;
}
 
開發者ID:qq1588518,項目名稱:JRediClients,代碼行數:16,代碼來源:RedissonNamespaceParserSupport.java

示例4: parseInternal

import org.springframework.beans.factory.xml.ParserContext; //導入方法依賴的package包/類
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
	BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition();

	Class<?> beanClass = getBeanClass(element);
	Assert.notNull(beanClass);

	if (beanClass != null) {
		builder.getRawBeanDefinition().setBeanClass(beanClass);
	}

	builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
	builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

	OsgiDefaultsDefinition defaults = resolveDefaults(element.getOwnerDocument(), parserContext);
	applyDefaults(parserContext, defaults, builder);

	doParse(element, parserContext, builder);

	AbstractBeanDefinition def = builder.getBeanDefinition();

	// check whether the bean is mandatory (and if it is, make it top-level
	// bean)
	if (parserContext.isNested()) {
		String value = element.getAttribute(AbstractBeanDefinitionParser.ID_ATTRIBUTE);
		value = (StringUtils.hasText(value) ? value + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR : "");
		String generatedName = generateBeanName(value, def, parserContext);
		// make the bean lazy (since it is an inner bean initiallly)
		def.setLazyInit(true);
		// disable autowiring for promoted bean
		def.setAutowireCandidate(false);
		def.setAttribute(PROMOTED_REF, Boolean.TRUE);

		BeanDefinitionHolder holder = new BeanDefinitionHolder(def, generatedName);
		BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry());
		return createBeanReferenceDefinition(generatedName, def);
	}

	return def;
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:40,代碼來源:AbstractReferenceDefinitionParser.java

示例5: applyDefaults

import org.springframework.beans.factory.xml.ParserContext; //導入方法依賴的package包/類
protected void applyDefaults(ParserContext parserContext, OsgiDefaultsDefinition defaults,
		BeanDefinitionBuilder builder) {
	if (parserContext.isNested()) {
		// Inner bean definition must receive same scope as containing bean.
		builder.setScope(parserContext.getContainingBeanDefinition().getScope());
	}
	if (parserContext.isDefaultLazyInit()) {
		// Default-lazy-init applies to custom bean definitions as well.
		builder.setLazyInit(true);
	}
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:12,代碼來源:AbstractReferenceDefinitionParser.java


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