Java Code Examples for org.springframework.beans.factory.config.RuntimeBeanNameReference

The following examples show how to use org.springframework.beans.factory.config.RuntimeBeanNameReference. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: spring-analysis-note   Source File: ConfigBeanDefinitionParser.java    License: MIT License 6 votes vote down vote up
/**
 * Create a {@link RootBeanDefinition} for the advisor described in the supplied. Does <strong>not</strong>
 * parse any associated '{@code pointcut}' or '{@code pointcut-ref}' attributes.
 */
private AbstractBeanDefinition createAdvisorBeanDefinition(Element advisorElement, ParserContext parserContext) {
	RootBeanDefinition advisorDefinition = new RootBeanDefinition(DefaultBeanFactoryPointcutAdvisor.class);
	advisorDefinition.setSource(parserContext.extractSource(advisorElement));

	String adviceRef = advisorElement.getAttribute(ADVICE_REF);
	if (!StringUtils.hasText(adviceRef)) {
		parserContext.getReaderContext().error(
				"'advice-ref' attribute contains empty value.", advisorElement, this.parseState.snapshot());
	}
	else {
		advisorDefinition.getPropertyValues().add(
				ADVICE_BEAN_NAME, new RuntimeBeanNameReference(adviceRef));
	}

	if (advisorElement.hasAttribute(ORDER_PROPERTY)) {
		advisorDefinition.getPropertyValues().add(
				ORDER_PROPERTY, advisorElement.getAttribute(ORDER_PROPERTY));
	}

	return advisorDefinition;
}
 
Example 2
/**
 * Return a typed String value Object for the given 'idref' element.
 */
@Nullable
public Object parseIdRefElement(Element ele) {
	// A generic reference to any name of any bean.
	String refName = ele.getAttribute(BEAN_REF_ATTRIBUTE);
	if (!StringUtils.hasLength(refName)) {
		error("'bean' is required for <idref> element", ele);
		return null;
	}
	if (!StringUtils.hasText(refName)) {
		error("<idref> element contains empty target attribute", ele);
		return null;
	}
	RuntimeBeanNameReference ref = new RuntimeBeanNameReference(refName);
	ref.setSource(extractSource(ele));
	return ref;
}
 
Example 3
Source Project: java-technology-stack   Source File: ConfigBeanDefinitionParser.java    License: MIT License 6 votes vote down vote up
/**
 * Create a {@link RootBeanDefinition} for the advisor described in the supplied. Does <strong>not</strong>
 * parse any associated '{@code pointcut}' or '{@code pointcut-ref}' attributes.
 */
private AbstractBeanDefinition createAdvisorBeanDefinition(Element advisorElement, ParserContext parserContext) {
	RootBeanDefinition advisorDefinition = new RootBeanDefinition(DefaultBeanFactoryPointcutAdvisor.class);
	advisorDefinition.setSource(parserContext.extractSource(advisorElement));

	String adviceRef = advisorElement.getAttribute(ADVICE_REF);
	if (!StringUtils.hasText(adviceRef)) {
		parserContext.getReaderContext().error(
				"'advice-ref' attribute contains empty value.", advisorElement, this.parseState.snapshot());
	}
	else {
		advisorDefinition.getPropertyValues().add(
				ADVICE_BEAN_NAME, new RuntimeBeanNameReference(adviceRef));
	}

	if (advisorElement.hasAttribute(ORDER_PROPERTY)) {
		advisorDefinition.getPropertyValues().add(
				ORDER_PROPERTY, advisorElement.getAttribute(ORDER_PROPERTY));
	}

	return advisorDefinition;
}
 
Example 4
/**
 * Return a typed String value Object for the given 'idref' element.
 */
@Nullable
public Object parseIdRefElement(Element ele) {
	// A generic reference to any name of any bean.
	String refName = ele.getAttribute(BEAN_REF_ATTRIBUTE);
	if (!StringUtils.hasLength(refName)) {
		error("'bean' is required for <idref> element", ele);
		return null;
	}
	if (!StringUtils.hasText(refName)) {
		error("<idref> element contains empty target attribute", ele);
		return null;
	}
	RuntimeBeanNameReference ref = new RuntimeBeanNameReference(refName);
	ref.setSource(extractSource(ele));
	return ref;
}
 
Example 5
/**
 * Return a typed String value Object for the given 'idref' element.
 */
public Object parseIdRefElement(Element ele) {
	// A generic reference to any name of any bean.
	String refName = ele.getAttribute(BEAN_REF_ATTRIBUTE);
	if (!StringUtils.hasLength(refName)) {
		// A reference to the id of another bean in the same XML file.
		refName = ele.getAttribute(LOCAL_REF_ATTRIBUTE);
		if (!StringUtils.hasLength(refName)) {
			error("Either 'bean' or 'local' is required for <idref> element", ele);
			return null;
		}
	}
	if (!StringUtils.hasText(refName)) {
		error("<idref> element contains empty target attribute", ele);
		return null;
	}
	RuntimeBeanNameReference ref = new RuntimeBeanNameReference(refName);
	ref.setSource(extractSource(ele));
	return ref;
}
 
Example 6
/**
 * Create a {@link RootBeanDefinition} for the advisor described in the supplied. Does <strong>not</strong>
 * parse any associated '{@code pointcut}' or '{@code pointcut-ref}' attributes.
 */
private AbstractBeanDefinition createAdvisorBeanDefinition(Element advisorElement, ParserContext parserContext) {
	RootBeanDefinition advisorDefinition = new RootBeanDefinition(DefaultBeanFactoryPointcutAdvisor.class);
	advisorDefinition.setSource(parserContext.extractSource(advisorElement));

	String adviceRef = advisorElement.getAttribute(ADVICE_REF);
	if (!StringUtils.hasText(adviceRef)) {
		parserContext.getReaderContext().error(
				"'advice-ref' attribute contains empty value.", advisorElement, this.parseState.snapshot());
	}
	else {
		advisorDefinition.getPropertyValues().add(
				ADVICE_BEAN_NAME, new RuntimeBeanNameReference(adviceRef));
	}

	if (advisorElement.hasAttribute(ORDER_PROPERTY)) {
		advisorDefinition.getPropertyValues().add(
				ORDER_PROPERTY, advisorElement.getAttribute(ORDER_PROPERTY));
	}

	return advisorDefinition;
}
 
Example 7
Source Project: blog_demos   Source File: BeanDefinitionParserDelegate.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Return a typed String value Object for the given 'idref' element.
 */
public Object parseIdRefElement(Element ele) {
	// A generic reference to any name of any bean.
	String refName = ele.getAttribute(BEAN_REF_ATTRIBUTE);
	if (!StringUtils.hasLength(refName)) {
		// A reference to the id of another bean in the same XML file.
		refName = ele.getAttribute(LOCAL_REF_ATTRIBUTE);
		if (!StringUtils.hasLength(refName)) {
			error("Either 'bean' or 'local' is required for <idref> element", ele);
			return null;
		}
	}
	if (!StringUtils.hasText(refName)) {
		error("<idref> element contains empty target attribute", ele);
		return null;
	}
	RuntimeBeanNameReference ref = new RuntimeBeanNameReference(refName);
	ref.setSource(extractSource(ele));
	return ref;
}
 
Example 8
/**
 * Create a {@link RootBeanDefinition} for the advisor described in the supplied. Does <strong>not</strong>
 * parse any associated '{@code pointcut}' or '{@code pointcut-ref}' attributes.
 */
private AbstractBeanDefinition createAdvisorBeanDefinition(Element advisorElement, ParserContext parserContext) {
	RootBeanDefinition advisorDefinition = new RootBeanDefinition(DefaultBeanFactoryPointcutAdvisor.class);
	advisorDefinition.setSource(parserContext.extractSource(advisorElement));

	String adviceRef = advisorElement.getAttribute(ADVICE_REF);
	if (!StringUtils.hasText(adviceRef)) {
		parserContext.getReaderContext().error(
				"'advice-ref' attribute contains empty value.", advisorElement, this.parseState.snapshot());
	}
	else {
		advisorDefinition.getPropertyValues().add(
				ADVICE_BEAN_NAME, new RuntimeBeanNameReference(adviceRef));
	}

	if (advisorElement.hasAttribute(ORDER_PROPERTY)) {
		advisorDefinition.getPropertyValues().add(
				ORDER_PROPERTY, advisorElement.getAttribute(ORDER_PROPERTY));
	}

	return advisorDefinition;
}
 
Example 9
/**
 * Return a typed String value Object for the given 'idref' element.
 */
public Object parseIdRefElement(Element ele) {
	// A generic reference to any name of any bean.
	String refName = ele.getAttribute(BEAN_REF_ATTRIBUTE);
	if (!StringUtils.hasLength(refName)) {
		// A reference to the id of another bean in the same XML file.
		refName = ele.getAttribute(LOCAL_REF_ATTRIBUTE);
		if (!StringUtils.hasLength(refName)) {
			error("Either 'bean' or 'local' is required for <idref> element", ele);
			return null;
		}
	}
	if (!StringUtils.hasText(refName)) {
		error("<idref> element contains empty target attribute", ele);
		return null;
	}
	RuntimeBeanNameReference ref = new RuntimeBeanNameReference(refName);
	ref.setSource(extractSource(ele));
	return ref;
}
 
Example 10
@Override
public void parse(final BeanDefinition definition, final String id, final Element element, final String name,
                  final ParserContext context) {
    String beanId = element.getAttribute(name);
    if (!StringUtils.isEmpty(beanId)) {
        definition.getPropertyValues().addPropertyValue(property == null ? name : property, new RuntimeBeanNameReference(beanId));
    }
}
 
Example 11
Source Project: zxl   Source File: MulCommonBaseServiceParser.java    License: Apache License 2.0 5 votes vote down vote up
private void buildPointcutAndAdvisorBeanDefinition(String name, List<String> expressionList, ParserContext parserContext, BeanDefinitionRegistry beanDefinitionRegistry) {
	CompositeComponentDefinition compositeComponentDefinition = new CompositeComponentDefinition("mul-transaction-expression", null);
	parserContext.pushContainingComponent(compositeComponentDefinition);

	BeanDefinition aspectJAutoProxyCreatorBeanDefinition = AopConfigUtils.registerAspectJAutoProxyCreatorIfNecessary(beanDefinitionRegistry);
	AopConfigUtils.forceAutoProxyCreatorToUseClassProxying(beanDefinitionRegistry);
	if (aspectJAutoProxyCreatorBeanDefinition != null) {
		BeanComponentDefinition componentDefinition = new BeanComponentDefinition(aspectJAutoProxyCreatorBeanDefinition, AopConfigUtils.AUTO_PROXY_CREATOR_BEAN_NAME);
		parserContext.registerComponent(componentDefinition);
	}
	for (String expression : expressionList) {
		RootBeanDefinition pointcutDefinition = new RootBeanDefinition(AspectJExpressionPointcut.class);
		pointcutDefinition.setScope(BeanDefinition.SCOPE_PROTOTYPE);
		pointcutDefinition.setSynthetic(true);
		pointcutDefinition.getPropertyValues().add("expression", expression);
		String pointcutBeanName = parserContext.getReaderContext().registerWithGeneratedName(pointcutDefinition);
		parserContext.registerComponent(new PointcutComponentDefinition(pointcutBeanName, pointcutDefinition, expression));

		RootBeanDefinition advisorDefinition = new RootBeanDefinition(DefaultBeanFactoryPointcutAdvisor.class);
		advisorDefinition.getPropertyValues().add("adviceBeanName", new RuntimeBeanNameReference(name + HIBERNATE_ADVICE_SUFFIX));
		String advisorBeanName = parserContext.getReaderContext().registerWithGeneratedName(advisorDefinition);
		advisorDefinition.getPropertyValues().add("pointcut", new RuntimeBeanReference(pointcutBeanName));
		parserContext.registerComponent(new AdvisorComponentDefinition(advisorBeanName, advisorDefinition));
	}

	parserContext.popAndRegisterContainingComponent();
}