Class Pool.Entry

  • Enclosing class:
    Pool<T>

    public abstract class Pool.Entry
    extends java.lang.Object

    A Pool entry that holds metadata and a pooled object.

    • Constructor Detail

      • Entry

        public Entry()
    • Method Detail

      • enable

        public boolean enable​(T pooled,
                              boolean acquire)

        Enables this, previously reserved, Entry.

        An entry returned from the Pool.reserve() method must be enabled with this method, once and only once, before it is usable by the pool.

        The entry may be enabled and not acquired, in which case it is immediately available to be acquired, potentially by another thread; or it can be enabled and acquired atomically so that no other thread can acquire it, although the acquire may still fail if the pool has been closed.

        Parameters:
        pooled - the pooled object for this Entry
        acquire - whether this Entry should be atomically enabled and acquired
        Returns:
        whether this Entry was enabled
        Throws:
        java.lang.IllegalStateException - if this Entry was already enabled
      • getPooled

        public T getPooled()
        Returns:
        the pooled object
      • release

        public boolean release()

        Releases this Entry.

        This is equivalent to calling Pool.release(Pool.Entry) passing this entry.

        Returns:
        whether this Entry was released
      • remove

        public boolean remove()

        Removes this Entry from the Pool.

        This is equivalent to calling Pool.remove(Pool.Entry) passing this entry.

        Returns:
        whether this Entry was removed
      • isClosed

        public abstract boolean isClosed()
        Returns:
        whether this Entry is closed
      • isReserved

        public abstract boolean isReserved()
        Returns:
        whether this Entry is reserved
      • isIdle

        public abstract boolean isIdle()
        Returns:
        whether this Entry is idle
      • isInUse

        public abstract boolean isInUse()
        Returns:
        whether this entry is in use.
      • isOverUsed

        @Deprecated
        public boolean isOverUsed()
        Deprecated.
        MaxUsage functionalities will be removed
        Returns:
        whether this entry has been used beyond Pool.getMaxUsageCount()