org.datanucleus.enhancer.asm.method
Class MediateWrite

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

public class MediateWrite
extends ASMClassMethod

Method to generate the method "jdoSetZZZ" using ASM for MEDIATE_WRITE fields.

 static void jdoSetZZZ(MyClass objPC, YYY zzz)
 {
     if (objPC.jdoStateManager == null)
         objPC.ZZZ = zzz;
     else
         objPC.jdoStateManager.setObjectField(objPC, 0, objPC.ZZZ, zzz);
     if (objPC.jdoIsDetached() == true)
         ((BitSet) objPC.jdoDetachedState[3]).set(0);
 }
 
with the last part only applying when the class is Detachable

Version:
$Revision: 1.7 $

Field Summary
protected  org.datanucleus.metadata.AbstractMemberMetaData fmd
          Field that this jdoSetZZZ 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
MediateWrite(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 jdoSetZZZ is for.

Constructor Detail

MediateWrite

public MediateWrite(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.