org.datanucleus.enhancer.asm.method
Class JdoGetViaCheck

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

public class JdoGetViaCheck
extends ASMClassMethod

Method to generate the method "jdoGetZZZ" using ASM for CHECK_READ fields.

 static YYY jdoGetZZZ(MyClass objPC)
 {
     if (objPC.jdoFlags > 0 && objPC.jdoStateManager != null && !objPC.jdoStateManager.isLoaded(objPC, 2))
         return objPC.jdoStateManager.getStringField(objPC, 2, objPC.ZZZ);
     if (objPC.jdoIsDetached() != false && ((BitSet)objPC.jdoDetachedState[2]).get(2) != true)
         throw new JDODetachedFieldAccessException
             ("You have just attempted to access field \"ZZZ\" yet this field was not detached ... ");
     return objPC.ZZZ;
 }
 
with the last part only applying when Detachable


Field Summary
protected  org.datanucleus.metadata.AbstractMemberMetaData fmd
          Field that this jdoGetXXX is for.
 
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
JdoGetViaCheck(ClassEnhancer enhancer, org.datanucleus.metadata.AbstractMemberMetaData fmd)
          Constructor.
 
Method Summary
 void execute()
          Method to add the contents of the class method.
 
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
 

Field Detail

fmd

protected org.datanucleus.metadata.AbstractMemberMetaData fmd
Field that this jdoGetXXX is for.

Constructor Detail

JdoGetViaCheck

public JdoGetViaCheck(ClassEnhancer enhancer,
                      org.datanucleus.metadata.AbstractMemberMetaData fmd)
Constructor.

Parameters:
enhancer - ClassEnhancer
fmd - MetaData for the field we are generating for
Method Detail

execute

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

Specified by:
execute in class ClassMethod


Copyright © 2012. All Rights Reserved.