Package org.datanucleus.enhancer.methods
Class SetViaMediate
- java.lang.Object
-
- org.datanucleus.enhancer.ClassMethod
-
- org.datanucleus.enhancer.methods.SetViaMediate
-
public class SetViaMediate extends ClassMethod
Method to generate the method "dnSetZZZ" using ASM for MEDIATE_WRITE fields.static void dnSetZZZ(MyClass objPC, YYY zzz) { if (objPC.dnStateManager == null) objPC.ZZZ = zzz; else objPC.dnStateManager.setObjectField(objPC, 0, objPC.ZZZ, zzz); if (objPC.dnIsDetached() == true) ((BitSet) objPC.dnDetachedState[3]).set(0); }
with the last part only applying when the class is Detachable
-
-
Field Summary
Fields Modifier and Type Field Description protected AbstractMemberMetaData
fmd
Field that this dnSetZZZ is for.-
Fields inherited from class org.datanucleus.enhancer.ClassMethod
access, argNames, argTypes, enhancer, exceptions, methodName, returnType, visitor
-
-
Constructor Summary
Constructors Constructor Description SetViaMediate(ClassEnhancer enhancer, AbstractMemberMetaData fmd)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute()
Method to add the contents of the class method.-
Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
-
-
-
Field Detail
-
fmd
protected AbstractMemberMetaData fmd
Field that this dnSetZZZ is for.
-
-
Constructor Detail
-
SetViaMediate
public SetViaMediate(ClassEnhancer enhancer, AbstractMemberMetaData fmd)
Constructor.- Parameters:
enhancer
- ClassEnhancerfmd
- 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 classClassMethod
-
-