org.datanucleus.enhancer.asm.method
Class MediateRead

java.lang.Object
  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

Version:
$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
visitor
 
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)
          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

MediateRead

public MediateRead(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 © 2009. All Rights Reserved.