1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.appender;
18
19 import java.nio.charset.Charset;
20
21 import org.apache.logging.log4j.util.Chars;
22
23
24
25
26 public class TlsSyslogFrame {
27 private String message;
28 private int messageLengthInBytes;
29
30 public TlsSyslogFrame(final String message) {
31 setMessage(message);
32 }
33
34 public String getMessage() {
35 return this.message;
36 }
37
38 public void setMessage(final String message) {
39 this.message = message;
40 setLengthInBytes();
41 }
42
43 private void setLengthInBytes() {
44 messageLengthInBytes = message.length();
45 }
46
47 public byte[] getBytes() {
48 final String frame = toString();
49 return frame.getBytes(Charset.defaultCharset());
50 }
51
52 @Override
53 public String toString() {
54 final String length = Integer.toString(messageLengthInBytes);
55 return length + Chars.SPACE + message;
56 }
57
58 public boolean equals(final TlsSyslogFrame frame) {
59 return isLengthEquals(frame) && isMessageEquals(frame);
60 }
61
62 private boolean isLengthEquals(final TlsSyslogFrame frame) {
63 return this.messageLengthInBytes == frame.messageLengthInBytes;
64 }
65
66 private boolean isMessageEquals(final TlsSyslogFrame frame) {
67 return this.message.equals(frame.message);
68 }
69 }