com.caucho.ejb.gen
Class StatelessMethodTailGenerator<X>

java.lang.Object
  extended by com.caucho.config.gen.NullGenerator<X>
      extended by com.caucho.config.gen.MethodTailGenerator<X>
          extended by com.caucho.ejb.gen.StatelessMethodTailGenerator<X>
All Implemented Interfaces:
AspectGenerator<X>
Direct Known Subclasses:
StatelessScheduledMethodTailGenerator

@Module
public class StatelessMethodTailGenerator<X>
extends MethodTailGenerator<X>

Represents a stateless local business method


Field Summary
 
Fields inherited from class com.caucho.config.gen.MethodTailGenerator
_factory, _method
 
Fields inherited from class com.caucho.config.gen.NullGenerator
NULL
 
Constructor Summary
StatelessMethodTailGenerator(StatelessMethodTailFactory<X> factory, AnnotatedMethod<? super X> method)
           
 
Method Summary
 void generateApplicationException(JavaWriter out, java.lang.Class<?> exn)
          Generates code for an application (checked) exception.
 void generateFinally(JavaWriter out)
          Generates the code in the finally block
 void generatePostCall(JavaWriter out)
          Generates aspect code after the invocation.
 void generatePreCall(JavaWriter out)
          Generates code in the "try" block before the call
 void generatePreTry(JavaWriter out)
          Generates code before the "try" block
protected  AspectBeanFactory<X> getBeanFactory()
           
protected  AnnotatedType<X> getBeanType()
          Returns the owning bean type.
protected  AspectFactory<X> getFactory()
           
protected  java.lang.Class<X> getJavaClass()
           
 
Methods inherited from class com.caucho.config.gen.MethodTailGenerator
generateCall, getMethod, isApplicationExceptionThrown
 
Methods inherited from class com.caucho.config.gen.NullGenerator
generate, generateAsync, generateBeanConstructor, generateBeanPrologue, generateDestroy, generateEpilogue, generateInject, generateMethodPrologue, generatePostConstruct, generatePostFinally, generatePreDestroy, generateProxyConstructor, generateSystemException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StatelessMethodTailGenerator

public StatelessMethodTailGenerator(StatelessMethodTailFactory<X> factory,
                                    AnnotatedMethod<? super X> method)
Method Detail

generatePreTry

public void generatePreTry(JavaWriter out)
                    throws java.io.IOException
Generates code before the "try" block
 retType myMethod(...)
 {
   [pre-try]
   try {
     ...
 }
 

Specified by:
generatePreTry in interface AspectGenerator<X>
Overrides:
generatePreTry in class NullGenerator<X>
Throws:
java.io.IOException

getFactory

protected AspectFactory<X> getFactory()

getBeanFactory

protected AspectBeanFactory<X> getBeanFactory()

getBeanType

protected AnnotatedType<X> getBeanType()
Returns the owning bean type.


getJavaClass

protected java.lang.Class<X> getJavaClass()

generatePreCall

public void generatePreCall(JavaWriter out)
                     throws java.io.IOException
Generates code in the "try" block before the call
 retType myMethod(...)
 {
   ...
   try {
     [pre-call]
     ret = super.myMethod(...)
     ...
 }
 

Specified by:
generatePreCall in interface AspectGenerator<X>
Overrides:
generatePreCall in class NullGenerator<X>
Throws:
java.io.IOException

generatePostCall

public void generatePostCall(JavaWriter out)
                      throws java.io.IOException
Generates aspect code after the invocation.
 retType myMethod(...)
 {
   ...
   try {
     ...
     ret = super.myMethod(...)
     [post-call]
     return ret;
   } finally {
     ...
   }
 }
 

Specified by:
generatePostCall in interface AspectGenerator<X>
Overrides:
generatePostCall in class NullGenerator<X>
Throws:
java.io.IOException

generateApplicationException

public void generateApplicationException(JavaWriter out,
                                         java.lang.Class<?> exn)
                                  throws java.io.IOException
Generates code for an application (checked) exception.

Specified by:
generateApplicationException in interface AspectGenerator<X>
Overrides:
generateApplicationException in class NullGenerator<X>
Throws:
java.io.IOException

generateFinally

public void generateFinally(JavaWriter out)
                     throws java.io.IOException
Generates the code in the finally block
 myRet myMethod(...)
 {
   try {
     ...
   } finally {
     [finally]
   }
 

Specified by:
generateFinally in interface AspectGenerator<X>
Overrides:
generateFinally in class NullGenerator<X>
Throws:
java.io.IOException