Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2008, Red Hat, Inc., and individual contributors
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
  * http://www.apache.org/licenses/LICENSE-2.0
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.jboss.weld.bean;
 
 import static org.jboss.weld.bean.BeanIdentifiers.forInterceptor;
 
 import java.util.List;
 import java.util.Set;
 
 

Author(s):
Marius Bogoevici
 
 public class InterceptorImpl<T> extends ManagedBean<T> implements Interceptor<T> {
 
     private final InterceptorClassMetadata<T> interceptorMetadata;
 
     private final Set<AnnotationinterceptorBindingTypes;
 
     private final boolean serializable;
 
     public static <T> InterceptorImpl<T> of(BeanAttributes<T> attributesEnhancedAnnotatedType<T> typeBeanManagerImpl beanManager) {
         return new InterceptorImpl<T>(attributestypebeanManager);
     }
 
     protected InterceptorImpl(BeanAttributes<T> attributesEnhancedAnnotatedType<T> typeBeanManagerImpl beanManager) {
         super(attributestypenew StringBeanIdentifier(forInterceptor(type)), beanManager);
         this. = initInterceptorMetadata();
         this. = type.isSerializable();
         this. = Collections.unmodifiableSet(new HashSet<Annotation>(Interceptors.mergeBeanInterceptorBindings(beanManagergetEnhancedAnnotated(), getStereotypes()).values()));
 
         if (Beans.findInterceptorBindingConflicts(beanManager)) {
         }
     }
 
     @SuppressWarnings("unchecked")
         CdiInterceptorFactory<T> reference = new CdiInterceptorFactory<T>(this);
         return new InterceptorMetadataImpl<T>((Class<T>) getBeanClass(), reference, InterceptorMetadataUtils.buildMethodMap(getEnhancedAnnotated(), falsegetBeanManager()));
     }
 
     @Override
     public Set<AnnotationgetInterceptorBindings() {
         return ;
     }
 
         return ;
     }
 
     @Override
     public Object intercept(InterceptionType type, T instancefinal InvocationContext ctx) {
         final org.jboss.weld.interceptor.spi.model.InterceptionType interceptionType = org.jboss.weld.interceptor.spi.model.InterceptionType.valueOf(type.name());
         final List<InterceptorMethodInvocationmethodInvocations = .getInterceptorInvocation(instanceinterceptionType).getInterceptorMethodInvocations();
 
         try {
             /*
             * Calling Interceptor.intercept() may result in multiple interceptor method invocations (provided the interceptor class
             * interceptor methods on superclasses). This requires cooperation with InvocationContext.
             *
             * We use a wrapper InvocationContext for the purpose of executing the chain of
             * interceptor methods of this interceptor.
             */
            return new WeldInvocationContext(ctxmethodInvocations).proceed();
        } catch (RuntimeException e) {
            throw e;
        } catch (Exception e) {
            throw new WeldException(e);
        }
    }
    @Override
    public boolean intercepts(InterceptionType type) {
        return .isEligible(org.jboss.weld.interceptor.spi.model.InterceptionType.valueOf(type.name()));
    }
    public boolean isSerializable() {
        return ;
    }
    @Override
    public void initializeAfterBeanDiscovery() {
        super.initializeAfterBeanDiscovery();
        checkInterceptorBindings();
    }
    private void checkInterceptorBindings() {
            for (Annotation interceptorBindingType : ) {
                Target target = interceptorBindingType.annotationType().getAnnotation(Target.class);
                if (target != null && Arrays2.unorderedEquals(target.value(), ..)) {
                    throw ..methodElementTypeNotAllowed(thisinterceptorBindingType.annotationType());
                }
            }
        }
    }
    @Override
    public String toString() {
        return "Interceptor [" + getBeanClass() + " intercepts " + Formats.formatAnnotations(getInterceptorBindings()) + "]";
    }
New to GrepCode? Check out our FAQ X