Class ExposeBeanNameAdvisors
- java.lang.Object
- org.springframework.aop.interceptor.ExposeBeanNameAdvisors
public abstract class ExposeBeanNameAdvisors extends Object
Convenient methods for creating advisors that may be used when autoproxying beans created with the Spring IoC container, binding the bean name to the current invocation. May support abean()
pointcut designator with AspectJ.Typically used in Spring auto-proxying, where the bean name is known at proxy creation time.
- Since:
- 2.0
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
NamedBean
Constructor Summary
Constructors Constructor Description ExposeBeanNameAdvisors()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Advisor
createAdvisorIntroducingNamedBean(String beanName)
Create a new advisor that will expose the given bean name, introducing the NamedBean interface to make the bean name accessible without forcing the target object to be aware of this Spring IoC concept.static Advisor
createAdvisorWithoutIntroduction(String beanName)
Create a new advisor that will expose the given bean name, with no introductionstatic String
getBeanName()
Find the bean name for the current invocation.static String
getBeanName(MethodInvocation mi)
Find the bean name for the given invocation.
Constructor Detail
ExposeBeanNameAdvisors
public ExposeBeanNameAdvisors()
Method Detail
getBeanName
public static String getBeanName() throws IllegalStateException
Find the bean name for the current invocation. Assumes that an ExposeBeanNameAdvisor has been included in the interceptor chain, and that the invocation is exposed with ExposeInvocationInterceptor.- Returns:
- the bean name (never
null
) - Throws:
IllegalStateException
- if the bean name has not been exposed
getBeanName
public static String getBeanName(MethodInvocation mi) throws IllegalStateException
Find the bean name for the given invocation. Assumes that an ExposeBeanNameAdvisor has been included in the interceptor chain.- Parameters:
mi
- MethodInvocation that should contain the bean name as an attribute- Returns:
- the bean name (never
null
) - Throws:
IllegalStateException
- if the bean name has not been exposed
createAdvisorWithoutIntroduction
public static Advisor createAdvisorWithoutIntroduction(String beanName)
Create a new advisor that will expose the given bean name, with no introduction- Parameters:
beanName
- bean name to expose
createAdvisorIntroducingNamedBean
public static Advisor createAdvisorIntroducingNamedBean(String beanName)
Create a new advisor that will expose the given bean name, introducing the NamedBean interface to make the bean name accessible without forcing the target object to be aware of this Spring IoC concept.- Parameters:
beanName
- the bean name to expose