/** * Send an SSE event prepared with the given builder. For example: * * <pre> * // static import of SseEmitter * * SseEmitter emitter = new SseEmitter(); * emitter.send(event().name("update").id("1").data(myObject)); * </pre> * * @param builder a builder for an SSE formatted event. * @throws IOException raised when an I/O error occurs */ public void send(SseEventBuilder builder) throws IOException { Set<DataWithMediaType> dataToSend = ((SseEventBuilderImpl) builder).build(); synchronized (this) { for (DataWithMediaType entry : dataToSend) { super.send(entry.getData(), entry.getMediaType()); } } }