org.atmosphere.cpr
Class AtmosphereInterceptorWriter

java.lang.Object
  extended by org.atmosphere.cpr.AsyncIOWriterAdapter
      extended by org.atmosphere.cpr.AtmosphereInterceptorWriter
All Implemented Interfaces:
AsyncIOWriter
Direct Known Subclasses:
WebSocket

public class AtmosphereInterceptorWriter
extends AsyncIOWriterAdapter

An AsyncIOWriter that delegates the write operation to its AsyncIOInterceptor. If no AsyncIOInterceptor is specified, this class does nothing and the responses will never get written.

Author:
Jeanfrancois Arcand

Field Summary
protected  LinkedList<AsyncIOInterceptor> filters
           
 
Constructor Summary
AtmosphereInterceptorWriter()
           
 
Method Summary
 void close(AtmosphereResponse response)
          Close the underlying connection.
 AsyncIOWriter flush(AtmosphereResponse response)
          Flush the buffered content.
 AtmosphereInterceptorWriter interceptor(AsyncIOInterceptor filter)
          Add an AsyncIOInterceptor that will be invoked in the order it was added.
protected  void invokeInterceptor(AtmosphereResponse response, byte[] data, int offset, int length)
           
 AsyncIOWriter redirect(AtmosphereResponse response, String location)
          Redirect a WebSocket request to another location.
 AsyncIOWriter write(AtmosphereResponse response, byte[] data)
          Write a WebSocket message.
 AsyncIOWriter write(AtmosphereResponse response, byte[] data, int offset, int length)
          Write a WebSocket message.
 AsyncIOWriter write(AtmosphereResponse response, String data)
          Write a WebSocket message.
 AsyncIOWriter writeError(AtmosphereResponse response, int errorCode, String message)
          Write an error code.
protected  void writeReady(AtmosphereResponse response, byte[] responseDraft)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filters

protected final LinkedList<AsyncIOInterceptor> filters
Constructor Detail

AtmosphereInterceptorWriter

public AtmosphereInterceptorWriter()
Method Detail

redirect

public AsyncIOWriter redirect(AtmosphereResponse response,
                              String location)
                       throws IOException
Description copied from interface: AsyncIOWriter
Redirect a WebSocket request to another location.

Specified by:
redirect in interface AsyncIOWriter
Overrides:
redirect in class AsyncIOWriterAdapter
Throws:
IOException

writeError

public AsyncIOWriter writeError(AtmosphereResponse response,
                                int errorCode,
                                String message)
                         throws IOException
Description copied from interface: AsyncIOWriter
Write an error code.

Specified by:
writeError in interface AsyncIOWriter
Overrides:
writeError in class AsyncIOWriterAdapter
errorCode - the error code
Throws:
IOException

write

public AsyncIOWriter write(AtmosphereResponse response,
                           String data)
                    throws IOException
Description copied from interface: AsyncIOWriter
Write a WebSocket message.

Specified by:
write in interface AsyncIOWriter
Overrides:
write in class AsyncIOWriterAdapter
data - the WebSocket message
Throws:
IOException

write

public AsyncIOWriter write(AtmosphereResponse response,
                           byte[] data)
                    throws IOException
Description copied from interface: AsyncIOWriter
Write a WebSocket message.

Specified by:
write in interface AsyncIOWriter
Overrides:
write in class AsyncIOWriterAdapter
data - the WebSocket message
Throws:
IOException

write

public AsyncIOWriter write(AtmosphereResponse response,
                           byte[] data,
                           int offset,
                           int length)
                    throws IOException
Description copied from interface: AsyncIOWriter
Write a WebSocket message.

Specified by:
write in interface AsyncIOWriter
Overrides:
write in class AsyncIOWriterAdapter
data - the WebSocket message
offset - offset of the message
length - length of the message
Throws:
IOException

invokeInterceptor

protected void invokeInterceptor(AtmosphereResponse response,
                                 byte[] data,
                                 int offset,
                                 int length)
                          throws IOException
Throws:
IOException

writeReady

protected void writeReady(AtmosphereResponse response,
                          byte[] responseDraft)
                   throws IOException
Throws:
IOException

close

public void close(AtmosphereResponse response)
           throws IOException
Description copied from interface: AsyncIOWriter
Close the underlying connection.

Specified by:
close in interface AsyncIOWriter
Overrides:
close in class AsyncIOWriterAdapter
Throws:
IOException

flush

public AsyncIOWriter flush(AtmosphereResponse response)
                    throws IOException
Description copied from interface: AsyncIOWriter
Flush the buffered content.

Specified by:
flush in interface AsyncIOWriter
Overrides:
flush in class AsyncIOWriterAdapter
Throws:
IOException

interceptor

public AtmosphereInterceptorWriter interceptor(AsyncIOInterceptor filter)
Add an AsyncIOInterceptor that will be invoked in the order it was added.

Parameters:
filter - {@link AsyncIOInterceptor
Returns:
this


Copyright © 2013. All Rights Reserved.