|
|
|
@ -16,17 +16,16 @@ |
|
|
|
|
|
|
|
|
|
package org.springframework.web.socket.messaging; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.context.ApplicationEvent; |
|
|
|
|
import org.springframework.messaging.Message; |
|
|
|
|
import org.springframework.util.Assert; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* A base class for events for a message received from a WebSocket client and |
|
|
|
|
* parsed into a higher level sub-protocol (e.g. STOMP). |
|
|
|
|
* parsed into a higher-level sub-protocol (e.g. STOMP). |
|
|
|
|
* |
|
|
|
|
* @author Rossen Stoyanchev |
|
|
|
|
* @since 4.0.3 |
|
|
|
|
* @since 4.1 |
|
|
|
|
*/ |
|
|
|
|
@SuppressWarnings("serial") |
|
|
|
|
public abstract class AbstractSubProtocolEvent extends ApplicationEvent { |
|
|
|
@ -35,37 +34,35 @@ public abstract class AbstractSubProtocolEvent extends ApplicationEvent { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Create a new SessionConnectEvent. |
|
|
|
|
* |
|
|
|
|
* Create a new AbstractSubProtocolEvent. |
|
|
|
|
* @param source the component that published the event (never {@code null}) |
|
|
|
|
* @param message the connect message |
|
|
|
|
* @param message the incoming message |
|
|
|
|
*/ |
|
|
|
|
protected AbstractSubProtocolEvent(Object source, Message<byte[]> message) { |
|
|
|
|
super(source); |
|
|
|
|
Assert.notNull(message, "'message' must not be null"); |
|
|
|
|
Assert.notNull(message, "Message must not be null"); |
|
|
|
|
this.message = message; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Return the Message associated with the event. Here is an example of |
|
|
|
|
* obtaining information about the session id or any headers in the |
|
|
|
|
* message: |
|
|
|
|
* |
|
|
|
|
* <pre class="code"> |
|
|
|
|
* StompHeaderAccessor headers = StompHeaderAccessor.wrap(message); |
|
|
|
|
* headers.getSessionId(); |
|
|
|
|
* headers.getSessionAttributes(); |
|
|
|
|
* headers.getPrincipal(); |
|
|
|
|
* </pre> |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public Message<byte[]> getMessage() { |
|
|
|
|
return this.message; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public String toString() { |
|
|
|
|
return getClass().getSimpleName() + "[" + this.message + "]"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|