Class Disposer


  • public class Disposer
    extends java.lang.Object
    A simple utility that helps to thread-safely dispose lazy things.

    General usage:

    • call onDispose() to add hook to be run when disposing things
    • call dispose() to run all added hooks and remove them
    Both onDispose() and dispose() synchronize on a lock that may be passed to the constructor. By default, this Disposer instance will be used for locking.
    • Constructor Summary

      Constructors 
      Constructor Description
      Disposer()  
      Disposer​(java.lang.Object lock)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()  
      java.lang.Object lock()  
      void onDispose​(java.lang.Runnable onDispose)  
      <T> T onDispose​(T instance, java.lang.Runnable onDispose)  
      <T> T onDispose​(T instance, java.util.function.Consumer<? super T> onDispose)  
      • Methods inherited from class java.lang.Object

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

      • Disposer

        public Disposer()
      • Disposer

        public Disposer​(@Nullable
                        java.lang.Object lock)
    • Method Detail

      • onDispose

        public <T> T onDispose​(T instance,
                               java.lang.Runnable onDispose)
      • onDispose

        public <T> T onDispose​(T instance,
                               java.util.function.Consumer<? super T> onDispose)
      • onDispose

        public void onDispose​(java.lang.Runnable onDispose)
      • dispose

        public void dispose()
      • lock

        public java.lang.Object lock()