Class 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
    • Constructor Detail

      • GetViaMediate

        public GetViaMediate​(ClassEnhancer enhancer,
                             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