Home / Class/ StompWebSocketFrameEncoder Class — netty Architecture

StompWebSocketFrameEncoder Class — netty Architecture

Architecture documentation for the StompWebSocketFrameEncoder class in StompWebSocketFrameEncoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a4831b6a_cc3b_3e23_cf34_6d6ee0f01be7["StompWebSocketFrameEncoder"]
  9d95eb89_2d27_36ff_2ecb_0822cd2330bb["StompWebSocketFrameEncoder.java"]
  a4831b6a_cc3b_3e23_cf34_6d6ee0f01be7 -->|defined in| 9d95eb89_2d27_36ff_2ecb_0822cd2330bb
  eecb5ef5_7d16_d6e3_526a_8ee2dc34fe09["encode()"]
  a4831b6a_cc3b_3e23_cf34_6d6ee0f01be7 -->|method| eecb5ef5_7d16_d6e3_526a_8ee2dc34fe09
  9619a6b2_08bd_befa_c85c_02538c40d11c["WebSocketFrame()"]
  a4831b6a_cc3b_3e23_cf34_6d6ee0f01be7 -->|method| 9619a6b2_08bd_befa_c85c_02538c40d11c
  388335b5_675f_f6be_0b3f_c69ca296d421["isTextFrame()"]
  a4831b6a_cc3b_3e23_cf34_6d6ee0f01be7 -->|method| 388335b5_675f_f6be_0b3f_c69ca296d421

Relationship Graph

Source Code

example/src/main/java/io/netty/example/stomp/websocket/StompWebSocketFrameEncoder.java lines 34–72

public class StompWebSocketFrameEncoder extends StompSubframeEncoder {

    @Override
    public void encode(ChannelHandlerContext ctx, StompSubframe msg, List<Object> out) throws Exception {
        super.encode(ctx, msg, out);
    }

    @Override
    protected WebSocketFrame convertFullFrame(StompFrame original, ByteBuf encoded) {
        if (isTextFrame(original)) {
            return new TextWebSocketFrame(encoded);
        }

        return new BinaryWebSocketFrame(encoded);
    }

    @Override
    protected WebSocketFrame convertHeadersSubFrame(StompHeadersSubframe original, ByteBuf encoded) {
        if (isTextFrame(original)) {
            return new TextWebSocketFrame(false, 0, encoded);
        }

        return new BinaryWebSocketFrame(false, 0, encoded);
    }

    @Override
    protected WebSocketFrame convertContentSubFrame(StompContentSubframe original, ByteBuf encoded) {
        if (original instanceof LastStompContentSubframe) {
            return new ContinuationWebSocketFrame(true, 0, encoded);
        }

        return new ContinuationWebSocketFrame(false, 0, encoded);
    }

    private static boolean isTextFrame(StompHeadersSubframe headersSubframe) {
        String contentType = headersSubframe.headers().getAsString(StompHeaders.CONTENT_TYPE);
        return contentType != null && (contentType.startsWith("text") || contentType.startsWith("application/json"));
    }
}

Frequently Asked Questions

What is the StompWebSocketFrameEncoder class?
StompWebSocketFrameEncoder is a class in the netty codebase, defined in example/src/main/java/io/netty/example/stomp/websocket/StompWebSocketFrameEncoder.java.
Where is StompWebSocketFrameEncoder defined?
StompWebSocketFrameEncoder is defined in example/src/main/java/io/netty/example/stomp/websocket/StompWebSocketFrameEncoder.java at line 34.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free