com.caucho.config.gen
Class InterceptorFactory<X>

java.lang.Object
  extended by com.caucho.config.gen.AbstractAspectFactory<X>
      extended by com.caucho.config.gen.InterceptorFactory<X>
All Implemented Interfaces:
AspectFactory<X>

@Module
public class InterceptorFactory<X>
extends AbstractAspectFactory<X>

Represents the interception


Constructor Summary
InterceptorFactory(AspectBeanFactory<X> beanFactory, AspectFactory<X> next, InjectManager manager)
           
 
Method Summary
 AspectGenerator<X> create(AnnotatedMethod<? super X> method, boolean isEnhanced)
          Creates an aspect for interception if the method should be intercepted.
 void generateBeanInfo(JavaWriter out)
           
 void generateEpilogue(JavaWriter out, java.util.HashMap<java.lang.String,java.lang.Object> map)
           
 void generateInject(JavaWriter out, java.util.HashMap<java.lang.String,java.lang.Object> map)
           
 void generatePostConstruct(JavaWriter out, java.util.HashMap<java.lang.String,java.lang.Object> map)
           
 void generatePreDestroy(JavaWriter out, java.util.HashMap<java.lang.String,java.lang.Object> map)
           
 void generateThis(JavaWriter out)
           
 AnnotatedMethod<? super X> getAroundInvokeMethod()
           
 java.util.HashMap<java.lang.Class<?>,java.lang.annotation.Annotation> getClassInterceptorBindings()
           
 java.util.HashSet<java.lang.Class<?>> getDecoratorClasses()
           
 boolean isEnhanced()
          Returns true if the factory requires enhancement
 boolean isPassivating()
           
 boolean isSelfInterceptor()
           
 boolean isStateful()
           
 
Methods inherited from class com.caucho.config.gen.AbstractAspectFactory
getAspectBeanFactory, getBeanType, getGeneratedClassName, getInstanceClassName, getJavaClass, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InterceptorFactory

public InterceptorFactory(AspectBeanFactory<X> beanFactory,
                          AspectFactory<X> next,
                          InjectManager manager)
Method Detail

getClassInterceptorBindings

public java.util.HashMap<java.lang.Class<?>,java.lang.annotation.Annotation> getClassInterceptorBindings()

getDecoratorClasses

public java.util.HashSet<java.lang.Class<?>> getDecoratorClasses()

isPassivating

public boolean isPassivating()

isStateful

public boolean isStateful()

isSelfInterceptor

public boolean isSelfInterceptor()

create

public AspectGenerator<X> create(AnnotatedMethod<? super X> method,
                                 boolean isEnhanced)
Creates an aspect for interception if the method should be intercepted.

Specified by:
create in interface AspectFactory<X>
Overrides:
create in class AbstractAspectFactory<X>

generateInject

public void generateInject(JavaWriter out,
                           java.util.HashMap<java.lang.String,java.lang.Object> map)
                    throws java.io.IOException
Specified by:
generateInject in interface AspectFactory<X>
Overrides:
generateInject in class AbstractAspectFactory<X>
Throws:
java.io.IOException

generatePostConstruct

public void generatePostConstruct(JavaWriter out,
                                  java.util.HashMap<java.lang.String,java.lang.Object> map)
                           throws java.io.IOException
Specified by:
generatePostConstruct in interface AspectFactory<X>
Overrides:
generatePostConstruct in class AbstractAspectFactory<X>
Throws:
java.io.IOException

generatePreDestroy

public void generatePreDestroy(JavaWriter out,
                               java.util.HashMap<java.lang.String,java.lang.Object> map)
                        throws java.io.IOException
Specified by:
generatePreDestroy in interface AspectFactory<X>
Overrides:
generatePreDestroy in class AbstractAspectFactory<X>
Throws:
java.io.IOException

generateEpilogue

public void generateEpilogue(JavaWriter out,
                             java.util.HashMap<java.lang.String,java.lang.Object> map)
                      throws java.io.IOException
Specified by:
generateEpilogue in interface AspectFactory<X>
Overrides:
generateEpilogue in class AbstractAspectFactory<X>
Throws:
java.io.IOException

isEnhanced

public boolean isEnhanced()
Description copied from class: AbstractAspectFactory
Returns true if the factory requires enhancement

Specified by:
isEnhanced in interface AspectFactory<X>
Overrides:
isEnhanced in class AbstractAspectFactory<X>

getAroundInvokeMethod

public AnnotatedMethod<? super X> getAroundInvokeMethod()

generateThis

public void generateThis(JavaWriter out)
                  throws java.io.IOException
Parameters:
out -
Throws:
java.io.IOException

generateBeanInfo

public void generateBeanInfo(JavaWriter out)
                      throws java.io.IOException
Parameters:
out -
Throws:
java.io.IOException