import { MsgClientType } from "./MsgClientType";
import { MsgType } from "./MsgType";
import { YMSMessage } from "./YMSMessage";

export class DataMessage extends YMSMessage {
    data: string;

    constructor() {
        super(MsgClientType.CONTROLLER, MsgClientType.DISPLAY, MsgType.DATA);
        this.data = "";
    }

    public getQoS(): number {
        return 0;
    }

    public isRetained(): boolean {
        return false;
    }

    toString(): string {
        return `DataMessage{` +
          `timestamp=${this.timestamp}, ` +
          `sender=${MsgClientType[this.sender]}, ` +
          `receiver='${MsgClientType[this.receiver]}, ` +
          `msgType=${MsgType[this.msgType]}, ` +
          `senderClientId='${this.senderClientId}', ` +
          `data='${this.data}'` +
          `}`;
    }

}