Interface OutboundSseEvent.Builder
-
- Enclosing interface:
- OutboundSseEvent
public static interface OutboundSseEvent.Builder
A builder class used for creatingOutboundSseEvent
instances.
-
-
Method Summary
Modifier and Type Method Description OutboundSseEvent
build()
BuildOutboundSseEvent
.OutboundSseEvent.Builder
comment(String comment)
Set comment string associated with the event.OutboundSseEvent.Builder
data(Class type, Object data)
Set event data and java type of event data.OutboundSseEvent.Builder
data(Object data)
Set event data and java type of event data.OutboundSseEvent.Builder
data(GenericType type, Object data)
Set event data and a generic java type of event data.OutboundSseEvent.Builder
id(String id)
Set the event id.OutboundSseEvent.Builder
mediaType(MediaType mediaType)
Set themedia type
of the event data.OutboundSseEvent.Builder
name(String name)
Set event name.OutboundSseEvent.Builder
reconnectDelay(long milliseconds)
Set reconnection delay (in milliseconds) that indicates how long the event receiver should wait before attempting to reconnect in case a connection to SSE event source is lost.
-
-
-
Method Detail
-
id
OutboundSseEvent.Builder id(String id)
Set the event id.Will be send as a value of the SSE
"id"
field. This field is optional.- Parameters:
id
- event id.- Returns:
- updated builder instance.
-
name
OutboundSseEvent.Builder name(String name)
Set event name.Will be send as a value of the SSE
"event"
field. This field is optional.- Parameters:
name
- event name.- Returns:
- updated builder instance.
-
reconnectDelay
OutboundSseEvent.Builder reconnectDelay(long milliseconds)
Set reconnection delay (in milliseconds) that indicates how long the event receiver should wait before attempting to reconnect in case a connection to SSE event source is lost.Will be send as a value of the SSE
"retry"
field. This field is optional.Absence of a value of this field in an
OutboundSseEvent
instance is indicated bySseEvent.RECONNECT_NOT_SET
value returned fromSseEvent.getReconnectDelay()
.- Parameters:
milliseconds
- reconnection delay in milliseconds. Negative values un-set the reconnection delay.- Returns:
- updated builder instance.
-
mediaType
OutboundSseEvent.Builder mediaType(MediaType mediaType)
Set themedia type
of the event data.This information is mandatory. The default value is
MediaType.TEXT_PLAIN
.- Parameters:
mediaType
-MediaType
of event data. Must not benull
.- Returns:
- updated builder instance.
- Throws:
NullPointerException
- in case themediaType
parameter isnull
.
-
comment
OutboundSseEvent.Builder comment(String comment)
Set comment string associated with the event.The comment will be serialized with the event, before event data are serialized. If the event does not contain any data, a separate "event" that contains only the comment will be sent. This information is optional, provided the event data are set.
Note that multiple invocations of this method result in a previous comment being replaced with a new one. To achieve multi-line comments, a multi-line comment string has to be used.
- Parameters:
comment
- comment string.- Returns:
- updated builder instance.
-
data
OutboundSseEvent.Builder data(Class type, Object data)
Set event data and java type of event data.Type information will be used for
MessageBodyWriter
lookup.Note that multiple invocations of this method result in previous even data being replaced with new one.
- Parameters:
type
- java type of supplied data. Must not benull
.data
- event data. Must not benull
.- Returns:
- updated builder instance.
- Throws:
NullPointerException
- in case eithertype
ordata
parameter isnull
.
-
data
OutboundSseEvent.Builder data(GenericType type, Object data)
Set event data and a generic java type of event data.Type information will be used for
MessageBodyWriter
lookup.Note that multiple invocations of this method result in previous even data being replaced with new one.
- Parameters:
type
- generic type of supplied data. Must not benull
.data
- event data. Must not benull
.- Returns:
- updated builder instance.
- Throws:
NullPointerException
- in case eithertype
ordata
parameter isnull
.
-
data
OutboundSseEvent.Builder data(Object data)
Set event data and java type of event data.This is a convenience method that derives the event data type information from the runtime type of the event data. The supplied event data may be represented as
GenericEntity
.Note that multiple invocations of this method result in previous even data being replaced with new one.
- Parameters:
data
- event data. Must not benull
.- Returns:
- updated builder instance.
- Throws:
NullPointerException
- in case thedata
parameter isnull
.
-
build
OutboundSseEvent build()
BuildOutboundSseEvent
.There are two valid configurations:
- if a
comment
is set, all other parameters are optional. If eventdata
andmedia type
is set, event data will be serialized after the comment. - if a
comment
is not set, at least the eventdata
must be set. All other parameters are optional.
- Returns:
- new
OutboundSseEvent
instance. - Throws:
IllegalStateException
- when called with invalid configuration (neither a comment nor event data are set).
- if a
-
-