Class DetachFieldManager

    • Field Detail

      • copy

        boolean copy
        Whether we should create detached copies, or detach in situ.
    • Constructor Detail

      • DetachFieldManager

        public DetachFieldManager​(DNStateManager sm,
                                  boolean[] secondClassMutableFields,
                                  FetchPlanForClass fpClass,
                                  FetchPlanState state,
                                  boolean copy)
        Constructor for a field manager for detachment.
        Parameters:
        sm - StateManager of the instance being detached. An instance in Persistent or Transactional state
        secondClassMutableFields - The second class mutable fields for the class of this object
        fpClass - Fetch Plan for the class of this instance
        state - State object to hold any pertinent controls for the detachment process
        copy - Whether to create detached COPIES or just detach in-situ
    • Method Detail

      • processPersistableCopy

        protected java.lang.Object processPersistableCopy​(java.lang.Object pc)
        Utility method to process the passed persistable object creating a copy.
        Parameters:
        pc - The PC object
        Returns:
        The processed object
      • processPersistable

        protected void processPersistable​(java.lang.Object pc)
        Utility method to process the passed persistable object.
        Parameters:
        pc - The PC object
      • internalFetchObjectField

        protected java.lang.Object internalFetchObjectField​(int fieldNumber)
        Method to fetch an object field whether it is collection/map, PC, or whatever for the detachment process.
        Specified by:
        internalFetchObjectField in class AbstractFetchDepthFieldManager
        Parameters:
        fieldNumber - Number of the field
        Returns:
        The object
      • processField

        private java.lang.Object processField​(AbstractMemberMetaData mmd,
                                              java.lang.Object value)
      • processContainer

        private java.lang.Object processContainer​(AbstractMemberMetaData mmd,
                                                  java.lang.Object container)
      • endOfGraphOperation

        protected java.lang.Object endOfGraphOperation​(int fieldNumber)
        Method to throw and EndOfFetchPlanGraphException since we're at the end of a branch in the tree.
        Specified by:
        endOfGraphOperation in class AbstractFetchDepthFieldManager
        Parameters:
        fieldNumber - Number of the field
        Returns:
        Object to return