Package org.atmosphere.cpr
Class AtmosphereInterceptorWriter
- java.lang.Object
-
- org.atmosphere.cpr.AsyncIOWriterAdapter
-
- org.atmosphere.cpr.AtmosphereInterceptorWriter
-
- All Implemented Interfaces:
AsyncIOWriter
- Direct Known Subclasses:
WebSocket
public class AtmosphereInterceptorWriter extends AsyncIOWriterAdapter
AnAsyncIOWriterthat delegates the write operation to itsAsyncIOInterceptor. If no AsyncIOInterceptor is specified, this class does nothing and the responses will never get written.- Author:
- Jeanfrancois Arcand
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.LinkedList<AsyncIOInterceptor>filtersprotected java.util.LinkedList<AsyncIOInterceptor>reversedFilters
-
Constructor Summary
Constructors Constructor Description AtmosphereInterceptorWriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose(AtmosphereResponse response)Close the underlying connection.java.util.LinkedList<AsyncIOInterceptor>filters()AsyncIOWriterflush(AtmosphereResponse response)Flush the buffered content.AtmosphereInterceptorWriterinterceptor(AsyncIOInterceptor filter)Add anAsyncIOInterceptorthat will be invoked in the order it was added.AtmosphereInterceptorWriterinterceptor(AsyncIOInterceptor filter, int index)Add anAsyncIOInterceptorthat will be invoked at the specified index position.protected voidinvokeInterceptor(AtmosphereResponse response, byte[] data, int offset, int length)AsyncIOWriterredirect(AtmosphereResponse response, java.lang.String location)Redirect a WebSocket request to another location.AsyncIOWriterwrite(AtmosphereResponse response, byte[] data)Write a WebSocket message.AsyncIOWriterwrite(AtmosphereResponse response, byte[] data, int offset, int length)Write a WebSocket message.AsyncIOWriterwrite(AtmosphereResponse response, java.lang.String data)Write a WebSocket message.AsyncIOWriterwriteError(AtmosphereResponse response, int errorCode, java.lang.String message)Write an error code.protected voidwriteReady(AtmosphereResponse response, byte[] responseDraft)
-
-
-
Field Detail
-
filters
protected final java.util.LinkedList<AsyncIOInterceptor> filters
-
reversedFilters
protected final java.util.LinkedList<AsyncIOInterceptor> reversedFilters
-
-
Method Detail
-
redirect
public AsyncIOWriter redirect(AtmosphereResponse response, java.lang.String location) throws java.io.IOException
Description copied from interface:AsyncIOWriterRedirect a WebSocket request to another location.- Specified by:
redirectin interfaceAsyncIOWriter- Overrides:
redirectin classAsyncIOWriterAdapter- Throws:
java.io.IOException
-
writeError
public AsyncIOWriter writeError(AtmosphereResponse response, int errorCode, java.lang.String message) throws java.io.IOException
Description copied from interface:AsyncIOWriterWrite an error code.- Specified by:
writeErrorin interfaceAsyncIOWriter- Overrides:
writeErrorin classAsyncIOWriterAdaptererrorCode- the error code- Throws:
java.io.IOException
-
write
public AsyncIOWriter write(AtmosphereResponse response, java.lang.String data) throws java.io.IOException
Description copied from interface:AsyncIOWriterWrite a WebSocket message.- Specified by:
writein interfaceAsyncIOWriter- Overrides:
writein classAsyncIOWriterAdapterdata- the WebSocket message- Throws:
java.io.IOException
-
write
public AsyncIOWriter write(AtmosphereResponse response, byte[] data) throws java.io.IOException
Description copied from interface:AsyncIOWriterWrite a WebSocket message.- Specified by:
writein interfaceAsyncIOWriter- Overrides:
writein classAsyncIOWriterAdapterdata- the WebSocket message- Throws:
java.io.IOException
-
write
public AsyncIOWriter write(AtmosphereResponse response, byte[] data, int offset, int length) throws java.io.IOException
Description copied from interface:AsyncIOWriterWrite a WebSocket message.- Specified by:
writein interfaceAsyncIOWriter- Overrides:
writein classAsyncIOWriterAdapterdata- the WebSocket messageoffset- offset of the messagelength- length of the message- Throws:
java.io.IOException
-
invokeInterceptor
protected void invokeInterceptor(AtmosphereResponse response, byte[] data, int offset, int length) throws java.io.IOException
- Throws:
java.io.IOException
-
writeReady
protected void writeReady(AtmosphereResponse response, byte[] responseDraft)
-
close
public void close(AtmosphereResponse response) throws java.io.IOException
Description copied from interface:AsyncIOWriterClose the underlying connection.- Specified by:
closein interfaceAsyncIOWriter- Overrides:
closein classAsyncIOWriterAdapter- Throws:
java.io.IOException
-
flush
public AsyncIOWriter flush(AtmosphereResponse response) throws java.io.IOException
Description copied from interface:AsyncIOWriterFlush the buffered content.- Specified by:
flushin interfaceAsyncIOWriter- Overrides:
flushin classAsyncIOWriterAdapter- Throws:
java.io.IOException
-
interceptor
public AtmosphereInterceptorWriter interceptor(AsyncIOInterceptor filter)
Add anAsyncIOInterceptorthat will be invoked in the order it was added.- Parameters:
filter-AsyncIOInterceptor- Returns:
- this
-
interceptor
public AtmosphereInterceptorWriter interceptor(AsyncIOInterceptor filter, int index)
Add anAsyncIOInterceptorthat will be invoked at the specified index position.- Parameters:
filter-AsyncIOInterceptorindex-- Returns:
- this
-
filters
public java.util.LinkedList<AsyncIOInterceptor> filters()
-
-