All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.chrome.devtools.client.core.network.WebSocketFrame Maven / Gradle / Ivy

package com.hubspot.chrome.devtools.client.core.network;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * WebSocket frame data.
 */
public final class WebSocketFrame {
  private Number opcode;

  private Boolean mask;

  private String payloadData;

  @JsonCreator
  public WebSocketFrame(@JsonProperty("opcode") Number opcode, @JsonProperty("mask") Boolean mask,
      @JsonProperty("payloadData") String payloadData) {
    this.opcode = opcode;
    this.mask = mask;
    this.payloadData = payloadData;
  }

  public Number getOpcode() {
    return opcode;
  }

  public Boolean getMask() {
    return mask;
  }

  public String getPayloadData() {
    return payloadData;
  }

  public static WebSocketFrame.Builder builder() {
    return new WebSocketFrame.Builder();
  }

  public static final class Builder {
    private Number opcode;

    private Boolean mask;

    private String payloadData;

    private Builder() {
    }

    public WebSocketFrame.Builder setOpcode(Number opcode) {
      this.opcode = opcode;
      return this;
    }

    public WebSocketFrame.Builder setMask(Boolean mask) {
      this.mask = mask;
      return this;
    }

    public WebSocketFrame.Builder setPayloadData(String payloadData) {
      this.payloadData = payloadData;
      return this;
    }

    public WebSocketFrame build() {
      return new WebSocketFrame(opcode, mask, payloadData);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy