1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty5.handler.codec;
17
18 import static java.util.Objects.requireNonNull;
19
20 public class DecoderResult {
21
22 private static final DecoderResult SUCCESS = new DecoderResult();
23
24 public static DecoderResult failure(Throwable cause) {
25 requireNonNull(cause, "cause");
26 return new DecoderResult(cause);
27 }
28
29 public static DecoderResult success() {
30 return SUCCESS;
31 }
32
33 private final Throwable cause;
34
35 protected DecoderResult(Throwable cause) {
36 this.cause = requireNonNull(cause, "cause");
37 }
38
39 protected DecoderResult() {
40 this.cause = null;
41 }
42
43 public final boolean isSuccess() {
44 return cause == null;
45 }
46
47 public final boolean isFailure() {
48 return cause != null;
49 }
50
51 public final Throwable cause() {
52 return cause;
53 }
54
55 @Override
56 public String toString() {
57 if (isSuccess()) {
58 return "success";
59 }
60
61 String cause = cause().toString();
62 return new StringBuilder(cause.length() + 17)
63 .append("failure(")
64 .append(cause)
65 .append(')')
66 .toString();
67 }
68 }