Class SseEventProvider
- java.lang.Object
-
- org.jboss.resteasy.plugins.providers.sse.SseEventProvider
-
- All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<SseEventInputImpl>,javax.ws.rs.ext.MessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>,AsyncMessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>
@Provider @Produces({"text/event-stream","application/x-stream-general"}) @Consumes({"text/event-stream","application/x-stream-general"}) public class SseEventProvider extends Object implements AsyncMessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>, javax.ws.rs.ext.MessageBodyReader<SseEventInputImpl>
-
-
Field Summary
Fields Modifier and Type Field Description static javax.ws.rs.core.MediaTypeGENERAL_STREAM_TYPE
-
Constructor Summary
Constructors Modifier Constructor Description SseEventProvider()protectedSseEventProvider(javax.ws.rs.ext.Providers providers)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletionStage<Void>asyncWriteTo(javax.ws.rs.sse.OutboundSseEvent event, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, AsyncOutputStream entityStream)Write a type to an HTTP message using async IO.longgetSize(javax.ws.rs.sse.OutboundSseEvent t, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)booleanisReadable(Class<?> cls, Type type, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)booleanisWriteable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)SseEventInputImplreadFrom(Class<SseEventInputImpl> cls, Type type, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream)voidwriteTo(javax.ws.rs.sse.OutboundSseEvent event, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream)
-
-
-
Method Detail
-
isWriteable
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)
- Specified by:
isWriteablein interfacejavax.ws.rs.ext.MessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>
-
getSize
public long getSize(javax.ws.rs.sse.OutboundSseEvent t, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)- Specified by:
getSizein interfacejavax.ws.rs.ext.MessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>
-
writeTo
public void writeTo(javax.ws.rs.sse.OutboundSseEvent event, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, javax.ws.rs.WebApplicationException- Specified by:
writeToin interfacejavax.ws.rs.ext.MessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>- Throws:
IOExceptionjavax.ws.rs.WebApplicationException
-
isReadable
public boolean isReadable(Class<?> cls, Type type, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)
- Specified by:
isReadablein interfacejavax.ws.rs.ext.MessageBodyReader<SseEventInputImpl>
-
readFrom
public SseEventInputImpl readFrom(Class<SseEventInputImpl> cls, Type type, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream) throws IOException, javax.ws.rs.WebApplicationException
- Specified by:
readFromin interfacejavax.ws.rs.ext.MessageBodyReader<SseEventInputImpl>- Throws:
IOExceptionjavax.ws.rs.WebApplicationException
-
asyncWriteTo
public CompletionStage<Void> asyncWriteTo(javax.ws.rs.sse.OutboundSseEvent event, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, AsyncOutputStream entityStream)
Description copied from interface:AsyncMessageBodyWriterWrite a type to an HTTP message using async IO. The message header map is mutable but any changes must be made before writing to the async output stream since the headers will be flushed prior to writing the message body.- Specified by:
asyncWriteToin interfaceAsyncMessageBodyWriter<javax.ws.rs.sse.OutboundSseEvent>- Parameters:
event- the instance to write.type- the class of instance that is to be written.genericType- the type of instance to be written.GenericEntityprovides a way to specify this information at runtime.annotations- an array of the annotations attached to the message entity instance.mediaType- the media type of the HTTP entity.httpHeaders- a mutable map of the HTTP message headers.entityStream- theAsyncOutputStreamfor the HTTP entity. The implementation should not close the output stream.- Returns:
- a
CompletionStageindicating completion
-
-