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