com.cedarsoft.serialization.generator.output.serializer.test
Class AbstractGenerator<T extends com.cedarsoft.codegen.DecisionCallback>

java.lang.Object
  extended by com.cedarsoft.serialization.generator.output.GeneratorBase<T>
      extended by com.cedarsoft.serialization.generator.output.serializer.test.AbstractGenerator<T>
Type Parameters:
T -
Direct Known Subclasses:
AbstractXmlGenerator

public abstract class AbstractGenerator<T extends com.cedarsoft.codegen.DecisionCallback>
extends GeneratorBase<T>


Field Summary
static String METHOD_NAME_ASSERT_EQUALS
           
static String METHOD_NAME_CREATE_OBJECT_TO_SERIALIZE
           
static String METHOD_NAME_GET_SERIALIZER
           
static String METHOD_NAME_VERIFY_DESERIALIZED
           
static int NUMBER_OF_OBJECTS
           
static String PARAM_NAME_DESERIALIZED
           
static String PARAM_NAME_VERSION
           
static String SERIALIZER_TEST_NAME_SUFFIX
           
static String SERIALIZER_VERSION_TEST_NAME_SUFFIX
           
 
Fields inherited from class com.cedarsoft.serialization.generator.output.GeneratorBase
codeGenerator, codeModel
 
Constructor Summary
protected AbstractGenerator(com.cedarsoft.codegen.CodeGenerator<T> codeGenerator)
           
 
Method Summary
protected  com.sun.codemodel.JMethod createCreateObjectsToSerializeMethod(com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor, com.sun.codemodel.JDefinedClass serializerTestClass, com.sun.codemodel.JClass serializerClass, com.sun.codemodel.JClass domainType)
           
protected  com.sun.codemodel.JInvocation createDomainObjectCreationExpression(com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)
           
protected abstract  com.sun.codemodel.JClass createExtendsClass(com.sun.codemodel.JClass domainType, com.sun.codemodel.JClass serializerClass)
           
protected abstract  void createGetSerializedMethod(com.sun.codemodel.JDefinedClass testClass, com.sun.codemodel.JClass serializerClass, com.sun.codemodel.JClass domainType)
          Creates the getSerialized method (used for versioned tests
protected  com.sun.codemodel.JMethod createGetSerializerMethod(com.sun.codemodel.JDefinedClass serializerTestClass, com.sun.codemodel.JClass serializerClass, com.sun.codemodel.JClass domainType)
           
 String createSerializerTestName(String serializerClassName)
           
 String createSerializerVersionTestName(String serializerClassName)
           
protected abstract  com.sun.codemodel.JMethod createVerifyMethod(com.sun.codemodel.JDefinedClass serializerTestClass, com.sun.codemodel.JClass serializerClass, com.sun.codemodel.JClass domainType)
           
protected abstract  com.sun.codemodel.JClass createVersionExtendsClass(com.sun.codemodel.JClass domainType, com.sun.codemodel.JClass serializerClass)
           
protected  void createVersionVerifyMethod(com.sun.codemodel.JDefinedClass testClass, com.sun.codemodel.JClass serializerClass, com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)
           
 com.sun.codemodel.JDefinedClass generateSerializerTest(String serializerClassName, com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)
           
 com.sun.codemodel.JDefinedClass generateSerializerVersionTest(com.sun.codemodel.JClass serializerClass, com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)
           
 
Methods inherited from class com.cedarsoft.serialization.generator.output.GeneratorBase
getCodeGenerator, getCodeModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SERIALIZER_TEST_NAME_SUFFIX

@NonNls
@NotNull
public static final String SERIALIZER_TEST_NAME_SUFFIX
See Also:
Constant Field Values

SERIALIZER_VERSION_TEST_NAME_SUFFIX

@NonNls
@NotNull
public static final String SERIALIZER_VERSION_TEST_NAME_SUFFIX
See Also:
Constant Field Values

METHOD_NAME_GET_SERIALIZER

@NonNls
public static final String METHOD_NAME_GET_SERIALIZER
See Also:
Constant Field Values

METHOD_NAME_CREATE_OBJECT_TO_SERIALIZE

@NonNls
public static final String METHOD_NAME_CREATE_OBJECT_TO_SERIALIZE
See Also:
Constant Field Values

NUMBER_OF_OBJECTS

public static final int NUMBER_OF_OBJECTS
See Also:
Constant Field Values

METHOD_NAME_VERIFY_DESERIALIZED

@NonNls
public static final String METHOD_NAME_VERIFY_DESERIALIZED
See Also:
Constant Field Values

PARAM_NAME_DESERIALIZED

@NonNls
public static final String PARAM_NAME_DESERIALIZED
See Also:
Constant Field Values

PARAM_NAME_VERSION

@NonNls
public static final String PARAM_NAME_VERSION
See Also:
Constant Field Values

METHOD_NAME_ASSERT_EQUALS

@NonNls
public static final String METHOD_NAME_ASSERT_EQUALS
See Also:
Constant Field Values
Constructor Detail

AbstractGenerator

protected AbstractGenerator(@NotNull
                            com.cedarsoft.codegen.CodeGenerator<T> codeGenerator)
Method Detail

generateSerializerVersionTest

@NotNull
public com.sun.codemodel.JDefinedClass generateSerializerVersionTest(@NotNull
                                                                             com.sun.codemodel.JClass serializerClass,
                                                                             @NotNull
                                                                             com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)
                                                              throws com.sun.codemodel.JClassAlreadyExistsException
Throws:
com.sun.codemodel.JClassAlreadyExistsException

createVersionVerifyMethod

protected void createVersionVerifyMethod(@NotNull
                                         com.sun.codemodel.JDefinedClass testClass,
                                         @NotNull
                                         com.sun.codemodel.JClass serializerClass,
                                         @NotNull
                                         com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)

createGetSerializedMethod

protected abstract void createGetSerializedMethod(@NotNull
                                                  com.sun.codemodel.JDefinedClass testClass,
                                                  @NotNull
                                                  com.sun.codemodel.JClass serializerClass,
                                                  @NotNull
                                                  com.sun.codemodel.JClass domainType)
Creates the getSerialized method (used for versioned tests

Parameters:
testClass - the test class
serializerClass - the serializer class
domainType - the domain type

generateSerializerTest

@NotNull
public com.sun.codemodel.JDefinedClass generateSerializerTest(@NotNull
                                                                      String serializerClassName,
                                                                      @NotNull
                                                                      com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)
                                                       throws com.sun.codemodel.JClassAlreadyExistsException
Throws:
com.sun.codemodel.JClassAlreadyExistsException

createCreateObjectsToSerializeMethod

@NotNull
protected com.sun.codemodel.JMethod createCreateObjectsToSerializeMethod(@NotNull
                                                                                 com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor,
                                                                                 @NotNull
                                                                                 com.sun.codemodel.JDefinedClass serializerTestClass,
                                                                                 @NotNull
                                                                                 com.sun.codemodel.JClass serializerClass,
                                                                                 @NotNull
                                                                                 com.sun.codemodel.JClass domainType)

createDomainObjectCreationExpression

@NotNull
protected com.sun.codemodel.JInvocation createDomainObjectCreationExpression(@NotNull
                                                                                     com.cedarsoft.codegen.model.DomainObjectDescriptor domainObjectDescriptor)

createGetSerializerMethod

@NotNull
protected com.sun.codemodel.JMethod createGetSerializerMethod(@NotNull
                                                                      com.sun.codemodel.JDefinedClass serializerTestClass,
                                                                      @NotNull
                                                                      com.sun.codemodel.JClass serializerClass,
                                                                      @NotNull
                                                                      com.sun.codemodel.JClass domainType)

createVerifyMethod

@NotNull
protected abstract com.sun.codemodel.JMethod createVerifyMethod(@NotNull
                                                                        com.sun.codemodel.JDefinedClass serializerTestClass,
                                                                        @NotNull
                                                                        com.sun.codemodel.JClass serializerClass,
                                                                        @NotNull
                                                                        com.sun.codemodel.JClass domainType)

createExtendsClass

@NotNull
protected abstract com.sun.codemodel.JClass createExtendsClass(@NotNull
                                                                       com.sun.codemodel.JClass domainType,
                                                                       @NotNull
                                                                       com.sun.codemodel.JClass serializerClass)

createVersionExtendsClass

@NotNull
protected abstract com.sun.codemodel.JClass createVersionExtendsClass(@NotNull
                                                                              com.sun.codemodel.JClass domainType,
                                                                              @NotNull
                                                                              com.sun.codemodel.JClass serializerClass)

createSerializerTestName

@NotNull
@NonNls
public String createSerializerTestName(@NotNull@NonNls
                                                      String serializerClassName)

createSerializerVersionTestName

@NotNull
@NonNls
public String createSerializerVersionTestName(@NotNull@NonNls
                                                             String serializerClassName)


Copyright © 2010 cedarsoft GmbH. All Rights Reserved.