Package org.minidns

Class MiniDnsFuture<V,​E extends java.lang.Exception>

  • All Implemented Interfaces:
    java.util.concurrent.Future<V>, org.minidns.util.CallbackRecipient<V,​E>
    Direct Known Subclasses:
    MiniDnsFuture.InternalMiniDnsFuture

    public abstract class MiniDnsFuture<V,​E extends java.lang.Exception>
    extends java.lang.Object
    implements java.util.concurrent.Future<V>, org.minidns.util.CallbackRecipient<V,​E>
    • Field Detail

      • result

        protected V result
      • exception

        protected E extends java.lang.Exception exception
    • Constructor Detail

      • MiniDnsFuture

        public MiniDnsFuture()
    • Method Detail

      • cancel

        public boolean cancel​(boolean mayInterruptIfRunning)
        Specified by:
        cancel in interface java.util.concurrent.Future<V>
      • isCancelled

        public final boolean isCancelled()
        Specified by:
        isCancelled in interface java.util.concurrent.Future<V>
      • isDone

        public final boolean isDone()
        Specified by:
        isDone in interface java.util.concurrent.Future<V>
      • hasResult

        public final boolean hasResult()
      • hasException

        public final boolean hasException()
      • onSuccess

        public org.minidns.util.CallbackRecipient<V,​E> onSuccess​(org.minidns.util.SuccessCallback<V> successCallback)
        Specified by:
        onSuccess in interface org.minidns.util.CallbackRecipient<V,​E extends java.lang.Exception>
      • onError

        public org.minidns.util.CallbackRecipient<V,​E> onError​(org.minidns.util.ExceptionCallback<E> exceptionCallback)
        Specified by:
        onError in interface org.minidns.util.CallbackRecipient<V,​E extends java.lang.Exception>
      • get

        public final V get()
                    throws java.lang.InterruptedException,
                           java.util.concurrent.ExecutionException
        Specified by:
        get in interface java.util.concurrent.Future<V>
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • getOrThrow

        public final V getOrThrow()
                           throws E extends java.lang.Exception
        Throws:
        E extends java.lang.Exception
      • get

        public final V get​(long timeout,
                           java.util.concurrent.TimeUnit unit)
                    throws java.lang.InterruptedException,
                           java.util.concurrent.ExecutionException,
                           java.util.concurrent.TimeoutException
        Specified by:
        get in interface java.util.concurrent.Future<V>
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
        java.util.concurrent.TimeoutException
      • maybeInvokeCallbacks

        protected final void maybeInvokeCallbacks()
      • from

        public static <V,​E extends java.lang.Exception> MiniDnsFuture<V,​E> from​(V result)
      • anySuccessfulOf

        public static <V> MiniDnsFuture<V,​java.io.IOException> anySuccessfulOf​(java.util.Collection<MiniDnsFuture<V,​java.io.IOException>> futures)