Class MediateRead

  extended by org.datanucleus.enhancer.ClassMethod
      extended by org.datanucleus.enhancer.asm.ASMClassMethod
          extended by org.datanucleus.enhancer.asm.method.MediateRead

public class MediateRead
extends ASMClassMethod

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

 static YYY jdoGetZZZ(MyClass objPC)
     if (objPC.jdoStateManager != null && !objPC.jdoStateManager.isLoaded(objPC, 0))
         return (YYY) objPC.jdoStateManager.getObjectField(objPC, 0, objPC.ZZZ);
     if (objPC.jdoIsDetached() != false &&
         ((BitSet) objPC.jdoDetachedState[2]).get(0) != true &&
         ((BitSet) objPC.jdoDetachedState[3]).get(0) != true)
         throw new JDODetachedFieldAccessException(...);
     return objPC.ZZZ;
with the last part only applying when Detachable

$Revision: 1.7 $

Field Summary
protected  org.datanucleus.metadata.AbstractMemberMetaData fmd
          Field that this jdoGetXXX is for.
Fields inherited from class org.datanucleus.enhancer.asm.ASMClassMethod
Fields inherited from class org.datanucleus.enhancer.ClassMethod
access, argNames, argTypes, enhancer, exceptions, LOCALISER, methodName, returnType
Constructor Summary
MediateRead(ClassEnhancer enhancer, org.datanucleus.metadata.AbstractMemberMetaData fmd)
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


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

Constructor Detail


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

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


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

Specified by:
execute in class ClassMethod

Copyright © 2009. All Rights Reserved.