Class IsBuildObjectCompleteOutcome

java.lang.Object
org.eclipse.persistence.internal.helper.type.IsBuildObjectCompleteOutcome

public class IsBuildObjectCompleteOutcome extends Object
Helper type that tells us for a given cache key what threads are having some sort of relationship to the cache key (e.g acquired the cache key as an active thread, have a deferred lock on the cache key or have incremented the counter of readers on the lock or simply are stuck waiting for the cache key to be available.
  • Field Details

    • BUILD_OBJECT_IS_COMPLETE_TRUE

      public static final IsBuildObjectCompleteOutcome BUILD_OBJECT_IS_COMPLETE_TRUE
      Algorithm can return null when it detects that the object is fully built ant the thread should be allowed to progresses.
  • Constructor Details

    • IsBuildObjectCompleteOutcome

      public IsBuildObjectCompleteOutcome(Thread threadBlockingTheDeferringThreadFromFinishing, ConcurrencyManager cacheKeyOwnedByBlockingThread)
      Create a new IsBuildObjectCompleteOutcome.
      Parameters:
      threadBlockingTheDeferringThreadFromFinishing - the thread that during going in deep in the recursion is discovered as blocking our initial thread
      cacheKeyOwnedByBlockingThread - the cache key that the blocking thread is currently owning and not releasing.
  • Method Details

    • getThreadBlockingTheDeferringThreadFromFinishing

      public Thread getThreadBlockingTheDeferringThreadFromFinishing()
      Getter for threadBlockingTheDeferringThreadFromFinishing
    • getCacheKeyOwnedByBlockingThread

      public ConcurrencyManager getCacheKeyOwnedByBlockingThread()
      Getter for cacheKeyOwnedByBlockingThread