cuba.util.codegen
Class AbstractWSAdapterGenerator

java.lang.Object
  extended by cuba.util.codegen.AbstractWSAdapterGenerator
Direct Known Subclasses:
WSAdapterGenerator, WSTAdapterGenerator

public abstract class AbstractWSAdapterGenerator
extends java.lang.Object

AbstractWSAdapterGenerator.

Abstract super-class for generator of webservice-adaptors and webservice-tunnel-adaptors.

Version:
$Revision: 1.1 $ - $Modtime: $ ($Author: jlr $)
Author:
Thomas Kuhlmann

Field Summary
protected  CUBAComponent component
           
protected  java.lang.Class externalInterface
           
protected  java.lang.String externalInterfacePackage
           
protected  java.lang.Class implClass
           
protected  java.lang.String implPackage
           
protected  java.lang.Class internalInterface
           
protected  java.lang.String internalInterfacePackage
           
static java.lang.String METHODPARAMNAME_PREFIX
           
static java.lang.String METHODRETURN
           
protected  AdapterGeneratorOptions options
           
 
Constructor Summary
AbstractWSAdapterGenerator(CUBAComponent component, java.lang.String internalInterfacePackage, java.lang.String externalInterfacePackage, java.lang.String implPackage, AdapterGeneratorOptions options)
          Constructor.
 
Method Summary
protected  void checkSerializable(java.lang.Class type)
           
protected  void checkSignature(java.lang.reflect.Method method, boolean external)
           
protected  void collectForeignType(java.lang.String homePackage, java.util.HashSet types, java.lang.Class type)
           
protected abstract  GeneratorResult generate(GeneratorResult result)
           
protected  void generateComponentInjection(GeneratedFile adapter)
           
protected  void generateCoreMethodCall(GeneratedFile adapter, java.lang.String methodName, java.lang.Class[] paramTypes)
           
protected  void generateDependencyInjection(GeneratedFile adapter)
           
protected  void generateEntityManagerInjection(GeneratedFile adapter)
           
protected  void generateEnvironmentInjection(GeneratedFile adapter)
           
protected  void generateFileHeader(GeneratedFile adapter, java.lang.String info, java.lang.Class interfaceType)
           
protected  void generateInjectionStatement(GeneratedFile adapter, Reference ref, java.lang.String getter)
           
protected  void generateLifecyleCall(GeneratedFile adapter, java.lang.String callType)
           
protected  void generateMethodDeclarator(GeneratedFile adapter, java.lang.reflect.Method method, boolean adapterClass)
           
protected  void generatePostActivate(GeneratedFile adapter)
           
protected  void generatePostConstruct(GeneratedFile adapter)
           
protected  void generatePreDestroy(GeneratedFile adapter)
           
protected  void generatePrePassivate(GeneratedFile adapter)
           
protected  void generateResourceInjection(GeneratedFile adapter)
           
protected  java.lang.reflect.Method getMethod(java.lang.Class type, java.lang.String methodName, java.lang.Class[] paramTypes)
           
protected  java.lang.reflect.Method getMethod(java.lang.String typeName, java.lang.String methodName)
           
protected  java.lang.reflect.Method getMethod(java.lang.String typeName, java.lang.String methodName, java.lang.Class[] paramTypes)
           
protected  java.lang.String getSimpleTypeName(java.lang.Class type)
          Does the same as Class.getSimpleName() in Java 5.
protected  boolean isVoid(java.lang.reflect.Method method)
           
protected  java.lang.String methodMemberName(java.lang.reflect.Method method)
           
protected  GeneratedFile open(java.lang.String basename)
           
protected  GeneratedFile open(java.lang.String basename, java.lang.String packageName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

METHODPARAMNAME_PREFIX

public static final java.lang.String METHODPARAMNAME_PREFIX
See Also:
Constant Field Values

METHODRETURN

public static final java.lang.String METHODRETURN
See Also:
Constant Field Values

component

protected CUBAComponent component

externalInterface

protected java.lang.Class externalInterface

internalInterface

protected java.lang.Class internalInterface

implClass

protected java.lang.Class implClass

externalInterfacePackage

protected java.lang.String externalInterfacePackage

internalInterfacePackage

protected java.lang.String internalInterfacePackage

implPackage

protected java.lang.String implPackage

options

protected AdapterGeneratorOptions options
Constructor Detail

AbstractWSAdapterGenerator

public AbstractWSAdapterGenerator(CUBAComponent component,
                                  java.lang.String internalInterfacePackage,
                                  java.lang.String externalInterfacePackage,
                                  java.lang.String implPackage,
                                  AdapterGeneratorOptions options)
                           throws GeneratorException
Constructor.

Throws:
GeneratorException
Method Detail

generateMethodDeclarator

protected void generateMethodDeclarator(GeneratedFile adapter,
                                        java.lang.reflect.Method method,
                                        boolean adapterClass)

open

protected GeneratedFile open(java.lang.String basename)
                      throws GeneratorException
Throws:
GeneratorException

open

protected GeneratedFile open(java.lang.String basename,
                             java.lang.String packageName)
                      throws GeneratorException
Throws:
GeneratorException

generateFileHeader

protected void generateFileHeader(GeneratedFile adapter,
                                  java.lang.String info,
                                  java.lang.Class interfaceType)

collectForeignType

protected void collectForeignType(java.lang.String homePackage,
                                  java.util.HashSet types,
                                  java.lang.Class type)

getSimpleTypeName

protected java.lang.String getSimpleTypeName(java.lang.Class type)
Does the same as Class.getSimpleName() in Java 5. The function appears here to keep the CUBA code compatible with JDK 1.4


checkSerializable

protected void checkSerializable(java.lang.Class type)
                          throws GeneratorException
Throws:
GeneratorException

checkSignature

protected void checkSignature(java.lang.reflect.Method method,
                              boolean external)
                       throws GeneratorException
Throws:
GeneratorException

getMethod

protected java.lang.reflect.Method getMethod(java.lang.Class type,
                                             java.lang.String methodName,
                                             java.lang.Class[] paramTypes)
                                      throws GeneratorException
Throws:
GeneratorException

getMethod

protected java.lang.reflect.Method getMethod(java.lang.String typeName,
                                             java.lang.String methodName,
                                             java.lang.Class[] paramTypes)
                                      throws GeneratorException
Throws:
GeneratorException

getMethod

protected java.lang.reflect.Method getMethod(java.lang.String typeName,
                                             java.lang.String methodName)
                                      throws GeneratorException
Throws:
GeneratorException

methodMemberName

protected java.lang.String methodMemberName(java.lang.reflect.Method method)

generateCoreMethodCall

protected void generateCoreMethodCall(GeneratedFile adapter,
                                      java.lang.String methodName,
                                      java.lang.Class[] paramTypes)

generateInjectionStatement

protected void generateInjectionStatement(GeneratedFile adapter,
                                          Reference ref,
                                          java.lang.String getter)

generateEnvironmentInjection

protected void generateEnvironmentInjection(GeneratedFile adapter)
                                     throws GeneratorException
Throws:
GeneratorException

generateResourceInjection

protected void generateResourceInjection(GeneratedFile adapter)
                                  throws GeneratorException
Throws:
GeneratorException

generateComponentInjection

protected void generateComponentInjection(GeneratedFile adapter)
                                   throws GeneratorException
Throws:
GeneratorException

generateEntityManagerInjection

protected void generateEntityManagerInjection(GeneratedFile adapter)
                                       throws GeneratorException
Throws:
GeneratorException

generateDependencyInjection

protected void generateDependencyInjection(GeneratedFile adapter)
                                    throws GeneratorException
Throws:
GeneratorException

generateLifecyleCall

protected void generateLifecyleCall(GeneratedFile adapter,
                                    java.lang.String callType)
                             throws GeneratorException
Throws:
GeneratorException

generatePreDestroy

protected void generatePreDestroy(GeneratedFile adapter)
                           throws GeneratorException
Throws:
GeneratorException

generatePostConstruct

protected void generatePostConstruct(GeneratedFile adapter)
                              throws GeneratorException
Throws:
GeneratorException

generatePrePassivate

protected void generatePrePassivate(GeneratedFile adapter)
                             throws GeneratorException
Throws:
GeneratorException

generatePostActivate

protected void generatePostActivate(GeneratedFile adapter)
                             throws GeneratorException
Throws:
GeneratorException

isVoid

protected boolean isVoid(java.lang.reflect.Method method)

generate

protected abstract GeneratorResult generate(GeneratorResult result)
                                     throws GeneratorException
Throws:
GeneratorException