org.datanucleus.enhancer.asm.method
Class InitClass

java.lang.Object
  extended by org.datanucleus.enhancer.ClassMethod
      extended by org.datanucleus.enhancer.asm.ASMClassMethod
          extended by org.datanucleus.enhancer.asm.method.InitClass

public class InitClass
extends ASMClassMethod

Method to generate a static initialisation block for the class using ASM.

 static
 {
     jdoFieldNames = __jdoFieldNamesInit();
     jdoFieldTypes = __jdoFieldTypesInit();
     jdoFieldFlags = __jdoFieldFlagsInit();
     jdoInheritedFieldCount = __jdoGetInheritedFieldCount();
     jdoPersistenceCapableSuperclass = __jdoPersistenceCapableSuperclassInit();
     JDOImplHelper.registerClass(___jdo$loadClass("mydomain.MyClass"),
         jdoFieldNames, jdoFieldTypes, jdoFieldFlags,
         jdoPersistenceCapableSuperclass, new MyClass());
 }
 

Version:
$Revision: 1.4 $

Field Summary
 
Fields inherited from class org.datanucleus.enhancer.asm.ASMClassMethod
visitor
 
Fields inherited from class org.datanucleus.enhancer.ClassMethod
access, argNames, argTypes, enhancer, exceptions, LOCALISER, methodName, returnType
 
Constructor Summary
InitClass(ClassEnhancer enhancer, java.lang.String name, int access, java.lang.Object returnType, java.lang.Object[] argTypes, java.lang.String[] argNames)
          Constructor.
 
Method Summary
 void addInitialiseInstructions(org.objectweb.asm.MethodVisitor mv)
          Convenience method to add the initialise instructions to the supplied MethodVisitor.
 void execute()
          Method to add the contents of the class method.
static InitClass getInstance(ASMClassEnhancer enhancer)
           
 
Methods inherited from class org.datanucleus.enhancer.asm.ASMClassMethod
getClassEnhancer, getDescriptor, initialise, initialise
 
Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getMethodAdditionMessage, getName, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InitClass

public InitClass(ClassEnhancer enhancer,
                 java.lang.String name,
                 int access,
                 java.lang.Object returnType,
                 java.lang.Object[] argTypes,
                 java.lang.String[] argNames)
Constructor.

Parameters:
enhancer - ClassEnhancer
name - Name of method
access - Access type
returnType - Return type
argTypes - Argument types
argNames - Argument names
Method Detail

getInstance

public static InitClass getInstance(ASMClassEnhancer enhancer)

execute

public void execute()
Method to add the contents of the class method.

Specified by:
execute in class ClassMethod

addInitialiseInstructions

public void addInitialiseInstructions(org.objectweb.asm.MethodVisitor mv)
Convenience method to add the initialise instructions to the supplied MethodVisitor. Available as a separate method so that the initialise instructions can be added to an existing static class initialise block (where the class already has one).

Parameters:
mv - MethodVisitor to use


Copyright © 2009. All Rights Reserved.