Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.jboss.weld.interceptor.proxy;
  
  import static org.jboss.weld.interceptor.proxy.AroundInvokeInvocationContext.create;
  
  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);
             }
         }
         if (. == interceptionType) {
             return executeAroundInvoke(instancemethodproceedargschainstack);
         } else {
             return executeLifecycleInterception(instancemethodproceedargschainstack);
         }
     }
     protected Object executeLifecycleInterception(Object instanceMethod methodMethod proceedObject[] argsList<InterceptorMethodInvocationchainStack stackthrows Throwable {
         return new WeldInvocationContext(instancemethodproceedargschainstack).proceed();
     }
 
     protected Object executeAroundInvoke(Object instanceMethod methodMethod proceedObject[] argsList<InterceptorMethodInvocationchainStack stackthrows Throwable {
         InvocationContext ctx = create(instancemethodproceedargschainstack);
         try {
             return chain.get(0).invoke(ctx);
         } catch (InvocationTargetException e) {
             throw e.getCause();
         }
     }
 
     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