Java Code Examples for org.springframework.aop.ProxyMethodInvocation#getUserAttribute()

The following examples show how to use org.springframework.aop.ProxyMethodInvocation#getUserAttribute() . 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 File: AbstractAspectJAdvice.java    From spring-analysis-note with MIT License 5 votes vote down vote up
/**
 * Lazily instantiate joinpoint for the current invocation.
 * Requires MethodInvocation to be bound with ExposeInvocationInterceptor.
 * <p>Do not use if access is available to the current ReflectiveMethodInvocation
 * (in an around advice).
 * @return current AspectJ joinpoint, or through an exception if we're not in a
 * Spring AOP invocation.
 */
public static JoinPoint currentJoinPoint() {
	MethodInvocation mi = ExposeInvocationInterceptor.currentInvocation();
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalStateException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	JoinPoint jp = (JoinPoint) pmi.getUserAttribute(JOIN_POINT_KEY);
	if (jp == null) {
		jp = new MethodInvocationProceedingJoinPoint(pmi);
		pmi.setUserAttribute(JOIN_POINT_KEY, jp);
	}
	return jp;
}
 
Example 2
Source File: ExposeBeanNameAdvisors.java    From spring-analysis-note with MIT License 5 votes vote down vote up
/**
 * Find the bean name for the given invocation. Assumes that an ExposeBeanNameAdvisor
 * has been included in the interceptor chain.
 * @param mi the MethodInvocation that should contain the bean name as an attribute
 * @return the bean name (never {@code null})
 * @throws IllegalStateException if the bean name has not been exposed
 */
public static String getBeanName(MethodInvocation mi) throws IllegalStateException {
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalArgumentException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	String beanName = (String) pmi.getUserAttribute(BEAN_NAME_ATTRIBUTE);
	if (beanName == null) {
		throw new IllegalStateException("Cannot get bean name; not set on MethodInvocation: " + mi);
	}
	return beanName;
}
 
Example 3
Source File: AbstractAspectJAdvice.java    From java-technology-stack with MIT License 5 votes vote down vote up
/**
 * Lazily instantiate joinpoint for the current invocation.
 * Requires MethodInvocation to be bound with ExposeInvocationInterceptor.
 * <p>Do not use if access is available to the current ReflectiveMethodInvocation
 * (in an around advice).
 * @return current AspectJ joinpoint, or through an exception if we're not in a
 * Spring AOP invocation.
 */
public static JoinPoint currentJoinPoint() {
	MethodInvocation mi = ExposeInvocationInterceptor.currentInvocation();
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalStateException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	JoinPoint jp = (JoinPoint) pmi.getUserAttribute(JOIN_POINT_KEY);
	if (jp == null) {
		jp = new MethodInvocationProceedingJoinPoint(pmi);
		pmi.setUserAttribute(JOIN_POINT_KEY, jp);
	}
	return jp;
}
 
Example 4
Source File: ExposeBeanNameAdvisors.java    From java-technology-stack with MIT License 5 votes vote down vote up
/**
 * Find the bean name for the given invocation. Assumes that an ExposeBeanNameAdvisor
 * has been included in the interceptor chain.
 * @param mi the MethodInvocation that should contain the bean name as an attribute
 * @return the bean name (never {@code null})
 * @throws IllegalStateException if the bean name has not been exposed
 */
public static String getBeanName(MethodInvocation mi) throws IllegalStateException {
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalArgumentException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	String beanName = (String) pmi.getUserAttribute(BEAN_NAME_ATTRIBUTE);
	if (beanName == null) {
		throw new IllegalStateException("Cannot get bean name; not set on MethodInvocation: " + mi);
	}
	return beanName;
}
 
Example 5
Source File: AbstractAspectJAdvice.java    From lams with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Lazily instantiate joinpoint for the current invocation.
 * Requires MethodInvocation to be bound with ExposeInvocationInterceptor.
 * <p>Do not use if access is available to the current ReflectiveMethodInvocation
 * (in an around advice).
 * @return current AspectJ joinpoint, or through an exception if we're not in a
 * Spring AOP invocation.
 */
public static JoinPoint currentJoinPoint() {
	MethodInvocation mi = ExposeInvocationInterceptor.currentInvocation();
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalStateException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	JoinPoint jp = (JoinPoint) pmi.getUserAttribute(JOIN_POINT_KEY);
	if (jp == null) {
		jp = new MethodInvocationProceedingJoinPoint(pmi);
		pmi.setUserAttribute(JOIN_POINT_KEY, jp);
	}
	return jp;
}
 
Example 6
Source File: ExposeBeanNameAdvisors.java    From lams with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Find the bean name for the given invocation. Assumes that an ExposeBeanNameAdvisor
 * has been included in the interceptor chain.
 * @param mi MethodInvocation that should contain the bean name as an attribute
 * @return the bean name (never {@code null})
 * @throws IllegalStateException if the bean name has not been exposed
 */
public static String getBeanName(MethodInvocation mi) throws IllegalStateException {
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalArgumentException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	String beanName = (String) pmi.getUserAttribute(BEAN_NAME_ATTRIBUTE);
	if (beanName == null) {
		throw new IllegalStateException("Cannot get bean name; not set on MethodInvocation: " + mi);
	}
	return beanName;
}
 
Example 7
Source File: AbstractAspectJAdvice.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
/**
 * Lazily instantiate joinpoint for the current invocation.
 * Requires MethodInvocation to be bound with ExposeInvocationInterceptor.
 * <p>Do not use if access is available to the current ReflectiveMethodInvocation
 * (in an around advice).
 * @return current AspectJ joinpoint, or through an exception if we're not in a
 * Spring AOP invocation.
 */
public static JoinPoint currentJoinPoint() {
	MethodInvocation mi = ExposeInvocationInterceptor.currentInvocation();
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalStateException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	JoinPoint jp = (JoinPoint) pmi.getUserAttribute(JOIN_POINT_KEY);
	if (jp == null) {
		jp = new MethodInvocationProceedingJoinPoint(pmi);
		pmi.setUserAttribute(JOIN_POINT_KEY, jp);
	}
	return jp;
}
 
Example 8
Source File: ExposeBeanNameAdvisors.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
/**
 * Find the bean name for the given invocation. Assumes that an ExposeBeanNameAdvisor
 * has been included in the interceptor chain.
 * @param mi MethodInvocation that should contain the bean name as an attribute
 * @return the bean name (never {@code null})
 * @throws IllegalStateException if the bean name has not been exposed
 */
public static String getBeanName(MethodInvocation mi) throws IllegalStateException {
	if (!(mi instanceof ProxyMethodInvocation)) {
		throw new IllegalArgumentException("MethodInvocation is not a Spring ProxyMethodInvocation: " + mi);
	}
	ProxyMethodInvocation pmi = (ProxyMethodInvocation) mi;
	String beanName = (String) pmi.getUserAttribute(BEAN_NAME_ATTRIBUTE);
	if (beanName == null) {
		throw new IllegalStateException("Cannot get bean name; not set on MethodInvocation: " + mi);
	}
	return beanName;
}
 
Example 9
Source File: AbstractAspectJAdvice.java    From spring-analysis-note with MIT License 4 votes vote down vote up
@Nullable
protected JoinPointMatch getJoinPointMatch(ProxyMethodInvocation pmi) {
	String expression = this.pointcut.getExpression();
	return (expression != null ? (JoinPointMatch) pmi.getUserAttribute(expression) : null);
}
 
Example 10
Source File: AbstractAspectJAdvice.java    From java-technology-stack with MIT License 4 votes vote down vote up
@Nullable
protected JoinPointMatch getJoinPointMatch(ProxyMethodInvocation pmi) {
	String expression = this.pointcut.getExpression();
	return (expression != null ? (JoinPointMatch) pmi.getUserAttribute(expression) : null);
}
 
Example 11
Source File: AbstractAspectJAdvice.java    From lams with GNU General Public License v2.0 4 votes vote down vote up
protected JoinPointMatch getJoinPointMatch(ProxyMethodInvocation pmi) {
	return (JoinPointMatch) pmi.getUserAttribute(this.pointcut.getExpression());
}
 
Example 12
Source File: AbstractAspectJAdvice.java    From spring4-understanding with Apache License 2.0 4 votes vote down vote up
protected JoinPointMatch getJoinPointMatch(ProxyMethodInvocation pmi) {
	return (JoinPointMatch) pmi.getUserAttribute(this.pointcut.getExpression());
}