Class GetViaMediate
java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.GetViaMediate
Method to generate the method "dnGetZZZ" using ASM for MEDIATE_READ fields.
static YYY dnGetZZZ(MyClass objPC)
{
if (objPC.dnStateManager != null && !objPC.dnStateManager.isLoaded(objPC, 0))
return (YYY) objPC.dnStateManager.getObjectField(objPC, 0, objPC.ZZZ);
if (objPC.dnIsDetached() != false &&
((BitSet) objPC.dnDetachedState[2]).get(0) != true &&
((BitSet) objPC.dnDetachedState[3]).get(0) != true)
throw new JDODetachedFieldAccessException(...);
return objPC.ZZZ;
}
with the last part only applying when Detachable-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AbstractMemberMetaDataField that this dnGetXXX is for.Fields inherited from class ClassMethod
access, argNames, argTypes, enhancer, exceptions, methodName, returnType, visitor -
Constructor Summary
ConstructorsConstructorDescriptionGetViaMediate(ClassEnhancer enhancer, AbstractMemberMetaData fmd) Constructor. -
Method Summary
Methods inherited from class ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
Field Details
-
fmd
Field that this dnGetXXX is for.
-
-
Constructor Details
-
GetViaMediate
Constructor.- Parameters:
enhancer- ClassEnhancerfmd- MetaData for the field we are generating for
-
-
Method Details
-
execute
public void execute()Method to add the contents of the class method.- Specified by:
executein classClassMethod
-