Class DetachState.Entry

  • Enclosing class:
    DetachState

    public class DetachState.Entry
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Object detachedPC  
      private java.util.List<java.util.List<java.lang.String>> detachStates  
    • Constructor Summary

      Constructors 
      Constructor Description
      Entry​(java.lang.Object detachedPC)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean checkCurrentState()
      Determine whether the current state is "dominated" by any previous detach state for this entry, in which case we know that all the required fields will already be in the detached copy.
      private boolean dominates​(java.util.List<java.lang.String> candidate, java.util.List<java.lang.String> target)  
      private java.util.List<java.lang.String> getCurrentState()  
      java.lang.Object getDetachedCopyObject()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • detachedPC

        private java.lang.Object detachedPC
      • detachStates

        private java.util.List<java.util.List<java.lang.String>> detachStates
    • Constructor Detail

      • Entry

        Entry​(java.lang.Object detachedPC)
    • Method Detail

      • getDetachedCopyObject

        public java.lang.Object getDetachedCopyObject()
      • checkCurrentState

        public boolean checkCurrentState()
        Determine whether the current state is "dominated" by any previous detach state for this entry, in which case we know that all the required fields will already be in the detached copy. (Dominance is transitive, so we can remove redundant entries)
        Returns:
        true if we can prove the current state is fully detached already
      • getCurrentState

        private java.util.List<java.lang.String> getCurrentState()
      • dominates

        private boolean dominates​(java.util.List<java.lang.String> candidate,
                                  java.util.List<java.lang.String> target)