Class GetViaMediate

java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.GetViaMediate

public class GetViaMediate extends ClassMethod
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 Details

  • Constructor Details

    • GetViaMediate

      public GetViaMediate(ClassEnhancer enhancer, AbstractMemberMetaData fmd)
      Constructor.
      Parameters:
      enhancer - ClassEnhancer
      fmd - 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:
      execute in class ClassMethod