org.apache.mina.core.future

## Class DefaultWriteFuture

- java.lang.Object
- - org.apache.mina.core.future.DefaultIoFuture
  - - org.apache.mina.core.future.DefaultWriteFuture

- All Implemented Interfaces:
    IoFuture, WriteFuture

      public class DefaultWriteFuture
      extends DefaultIoFuture
      implements WriteFuture

  A default implementation of `WriteFuture`.
  Author:
    Apache MINA Project

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultWriteFuture(IoSession session)` Creates a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `WriteFuture` | `addListener(IoFutureListener<?> listener)` Adds an event `listener` which is notified when this future is completed.
    `WriteFuture` | `await()` Wait for the asynchronous operation to complete.
    `WriteFuture` | `awaitUninterruptibly()` Wait for the asynchronous operation to complete uninterruptibly.
    `Throwable` | `getException()` Returns the cause of the write failure if and only if the write operation has failed due to an `Exception`.
    `boolean` | `isWritten()` Returns `true` if the write operation is finished successfully.
    `static WriteFuture` | `newNotWrittenFuture(IoSession session, Throwable cause)` Returns a new `DefaultWriteFuture` which is already marked as 'not written'.
    `static WriteFuture` | `newWrittenFuture(IoSession session)` Returns a new `DefaultWriteFuture` which is already marked as 'written'.
    `WriteFuture` | `removeListener(IoFutureListener<?> listener)` Removes an existing event `listener` so it won't be notified when the future is completed.
    `void` | `setException(Throwable exception)` Sets the cause of the write failure, and notifies all threads waiting for this future.
    `void` | `setWritten()` Sets the message is written, and notifies all threads waiting for this future.

    - ### Methods inherited from class org.apache.mina.core.future.DefaultIoFuture

      `await, await, awaitUninterruptibly, awaitUninterruptibly, getSession, getValue, isDone, join, join, setValue`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.mina.core.future.IoFuture

      `await, await, awaitUninterruptibly, awaitUninterruptibly, getSession, isDone, join, join`

- - ### Constructor Detail

    - #### DefaultWriteFuture

          public DefaultWriteFuture(IoSession session)

      Creates a new instance.

  - ### Method Detail

    - #### newWrittenFuture

          public static WriteFuture newWrittenFuture(IoSession session)

      Returns a new `DefaultWriteFuture` which is already marked as 'written'.

    - #### newNotWrittenFuture

          public static WriteFuture newNotWrittenFuture(IoSession session,
                                        Throwable cause)

      Returns a new `DefaultWriteFuture` which is already marked as 'not written'.

    - #### isWritten

          public boolean isWritten()

      Returns `true` if the write operation is finished successfully.
      Specified by:
        `isWritten` in interface `WriteFuture`

    - #### getException

          public Throwable getException()

      Returns the cause of the write failure if and only if the write operation has failed due to an `Exception`. Otherwise, `null` is returned.
      Specified by:
        `getException` in interface `WriteFuture`

    - #### setWritten

          public void setWritten()

      Sets the message is written, and notifies all threads waiting for this future. This method is invoked by MINA internally. Please do not call this method directly.
      Specified by:
        `setWritten` in interface `WriteFuture`

    - #### setException

          public void setException(Throwable exception)

      Sets the cause of the write failure, and notifies all threads waiting for this future. This method is invoked by MINA internally. Please do not call this method directly.
      Specified by:
        `setException` in interface `WriteFuture`

    - #### await

          public WriteFuture await()
                            throws InterruptedException

      Wait for the asynchronous operation to complete. The attached listeners will be notified when the operation is completed.
      Specified by:
        `await` in interface `IoFuture`
      Specified by:
        `await` in interface `WriteFuture`
      Overrides:
        `await` in class `DefaultIoFuture`
      Returns:
        the created `WriteFuture`
      Throws:
        `InterruptedException`

    - #### awaitUninterruptibly

          public WriteFuture awaitUninterruptibly()

      Wait for the asynchronous operation to complete uninterruptibly. The attached listeners will be notified when the operation is completed.
      Specified by:
        `awaitUninterruptibly` in interface `IoFuture`
      Specified by:
        `awaitUninterruptibly` in interface `WriteFuture`
      Overrides:
        `awaitUninterruptibly` in class `DefaultIoFuture`
      Returns:
        the current IoFuture

    - #### addListener

          public WriteFuture addListener(IoFutureListener<?> listener)

      Adds an event `listener` which is notified when this future is completed. If the listener is added after the completion, the listener is directly notified.
      Specified by:
        `addListener` in interface `IoFuture`
      Specified by:
        `addListener` in interface `WriteFuture`
      Overrides:
        `addListener` in class `DefaultIoFuture`

    - #### removeListener

          public WriteFuture removeListener(IoFutureListener<?> listener)

      Removes an existing event `listener` so it won't be notified when the future is completed.
      Specified by:
        `removeListener` in interface `IoFuture`
      Specified by:
        `removeListener` in interface `WriteFuture`
      Overrides:
        `removeListener` in class `DefaultIoFuture`

Copyright © 2004-2012 Apache MINA Project. All Rights Reserved.