Class Pooled<A extends Pooled<A>>

java.lang.Object
com.hierynomus.smbj.common.Pooled<A>
Direct Known Subclasses:
Connection

public class Pooled<A extends Pooled<A>> extends Object
  • Field Details

    • leases

      private final AtomicInteger leases
      A newly created Pooled object has 1 lease outstanding (the created object)
  • Constructor Details

    • Pooled

      public Pooled()
  • Method Details

    • lease

      public A lease()
      Takes a lease on the pooled object.
      Returns:
      this if the object is still valid (has at least 1 lease), else null
    • release

      public boolean release()
      Releases the pooled object. If this was the last outstanding lease, release() returns true.
      Returns:
      true if this was the last outstanding lease. Else false