<p> A callback abstraction that handles completed/failed events of asynchronous operations. </p> <p> <p> Semantically this is equivalent to an optimise Promise<Void>, but callback is a more meaningful name than EmptyPromise </p>
A task that returns a result and may throw an exception. Implementors define a single method with no arguments called {@code call}.
<p> A callback abstraction that handles completed/failed events of asynchronous operations. </p> <p> <p> Semantically this is equivalent to an optimise Promise<Void>, but callback is a more meaningful name than EmptyPromise </p>
A class implements the <code>Cloneable</code> interface to indicate to the {@link java.lang.Object#clone()} method that it is legal for that method to make a field-for-field copy of instances of that class. <p> Invoking Object's clone method on an instance that does not implement the <code>Cloneable</code> interface results in the exception <code>CloneNotSupportedException</code> being thrown. <p> By convention, classes that implement this interface should override <tt>Object.clone</tt> (which is protected) with a method. See {@link java.lang.Object#clone()} for details on overriding this method. <p> Note that this interface does <i>not</i> contain the <tt>clone</tt> method. Therefore, it is not possible to clone an object merely by virtue of the fact that it implements this interface. Even if the clone method is invoked reflectively, there is no guarantee that it will succeed.
A tagging interface that all event listener interfaces must extend.
An object that executes submitted {@link Runnable} tasks. This interface provides a way of decoupling task submission from the mechanics of how each task will be run, including details of thread use, scheduling, etc. An {@code Executor} is normally used instead of explicitly creating threads. For example, rather than invoking {@code new Thread(new RunnableTask()).start()} for each of a set of tasks, you might use:
A {@code Flushable} is a destination of data that can be flushed. The flush method is invoked to write any buffered output to the underlying stream.
Implementing this interface allows an object to be the target of the "for-each loop" statement. @param (T) the type of elements returned by the iterator