org.apache.mina.core.future
Class DefaultWriteFuture

java.lang.Object
  extended by org.apache.mina.core.future.DefaultIoFuture
      extended by org.apache.mina.core.future.DefaultWriteFuture
All Implemented Interfaces:
IoFuture, WriteFuture

public class DefaultWriteFuture
extends DefaultIoFuture
implements WriteFuture

A default implementation of WriteFuture.

Version:
$Rev:671827 $, $Date:2008-06-26 09:49:48 +0100 (jeu., 26 juin 2008) $
Author:
The Apache MINA Project (dev@mina.apache.org)

Constructor Summary
DefaultWriteFuture(IoSession session)
          Creates a new instance.
 
Method Summary
 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-2008 Apache MINA Project. All Rights Reserved.