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
22
23
24 public class TlsSyslogFrame {
25 public static final char SPACE = ' ';
26
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 + SPACE + message;
56 }
57
58 @Override
59 public boolean equals(final Object frame) {
60 return super.equals(frame);
61 }
62
63 public boolean equals(final TlsSyslogFrame frame) {
64 return isLengthEquals(frame) && isMessageEquals(frame);
65 }
66
67 private boolean isLengthEquals(final TlsSyslogFrame frame) {
68 return this.messageLengthInBytes == frame.messageLengthInBytes;
69 }
70
71 private boolean isMessageEquals(final TlsSyslogFrame frame) {
72 return this.message.equals(frame.message);
73 }
74 }