Class CountdownCloseable

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class CountdownCloseable
    extends java.lang.Object
    implements java.io.Closeable
    Decrements countdown and calls closeable if reached zero.
    • Field Detail

      • closeable

        private final java.io.Closeable closeable
      • countdown

        private volatile int countdown
    • Constructor Detail

      • CountdownCloseable

        public CountdownCloseable​(@Nonnull
                                  java.io.Closeable closeable,
                                  @Nonnegative
                                  int countdown)
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • awaitClosed

        public void awaitClosed()
                         throws java.lang.InterruptedException
        Waiting for one Thread in CommandlineExecutor.awaitExit().
        Throws:
        java.lang.InterruptedException - see Object.wait()