Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jboss.weld.interceptor.proxy;
 
 import java.util.List;
 

Author(s):
Marius Bogoevici
Marko Luksa
Jozef Hartinger
    private static final long serialVersionUID = 1L;
    private final InterceptionContext ctx;
    private final transient ConcurrentMap<MethodList<InterceptorMethodInvocation>> cachedChains;
        this. = ctx;
    }
    @Override
    public Object invoke(Object selfMethod thisMethodMethod proceedObject[] argsthrows Throwable {
        return invoke(InterceptionDecorationContext.getStack(), selfthisMethodproceedargs);
    }
    public Object invoke(Stack stackObject selfMethod thisMethodMethod proceedObject[] argsthrows Throwable {
        SecurityActions.ensureAccessible(proceed);
        if (proceed == null) {
            if (thisMethod.getName().equals(.)) {
                return executeInterception(selfnullnullnull.stack);
            } else if (thisMethod.getName().equals(.)) {
                return executeInterception(selfnullnullnull.stack);
            }
        } else {
            if (isInterceptorMethod(thisMethod)) {
                return Reflections.invokeAndUnwrap(selfproceedargs);
            }
            return executeInterception(selfthisMethodproceedargs.stack);
        }
        return null;
    }
    protected Object executeInterception(Object instanceMethod methodMethod proceedObject[] argsInterceptionType interceptionTypeStack stackthrows Throwable {
        List<InterceptorMethodInvocationchain = getInterceptionChain(instancemethodinterceptionType);
        if (chain.isEmpty()) {
            // shortcut if there are no interceptors
            if (proceed == null) {
                return null;
            } else {
                return Reflections.invokeAndUnwrap(instanceproceedargs);
            }
        } else {
            return new WeldInvocationContext(instancemethodproceedargschainstack).proceed();
        }
    }
    private List<InterceptorMethodInvocationgetInterceptionChain(Object instanceMethod methodInterceptionType interceptionType) {
        if (method != null) {
            List<InterceptorMethodInvocationchain = .get(method);
            if (chain == null) {
                chain = .buildInterceptorMethodInvocations(instancemethodinterceptionType);
                List<InterceptorMethodInvocationold = .putIfAbsent(methodchain);
                if (old != null) {
                    chain = old;
                }
            }
            return chain;
        } else {
            return .buildInterceptorMethodInvocations(instancenullinterceptionType);
        }
    }
    private boolean isInterceptorMethod(Method method) {
    }
    private Object readResolve() throws ObjectStreamException {
        return new InterceptorMethodHandler();
    }
New to GrepCode? Check out our FAQ X