1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.jackson;
18
19 import com.fasterxml.jackson.annotation.JsonIgnore;
20 import com.fasterxml.jackson.annotation.JsonProperty;
21 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
22 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
23 import org.apache.logging.log4j.core.impl.ExtendedStackTraceElement;
24 import org.apache.logging.log4j.core.impl.ThrowableProxy;
25
26
27
28
29 abstract class ThrowableProxyWithoutStacktraceMixIn {
30
31 @JsonProperty(JsonConstants.ELT_CAUSE)
32 @JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_CAUSE)
33 private ThrowableProxyWithoutStacktraceMixIn causeProxy;
34
35 @JsonProperty
36 @JacksonXmlProperty(isAttribute = true)
37 private int commonElementCount;
38
39 @JsonIgnore
40 private ExtendedStackTraceElement[] extendedStackTrace;
41
42 @JsonProperty
43 @JacksonXmlProperty(isAttribute = true)
44 private String localizedMessage;
45
46 @JsonProperty
47 @JacksonXmlProperty(isAttribute = true)
48 private String message;
49
50 @JsonProperty
51 @JacksonXmlProperty(isAttribute = true)
52 private String name;
53
54 @JsonIgnore
55 private transient Throwable throwable;
56
57 @JsonIgnore
58 public abstract String getCauseStackTraceAsString();
59
60 @JsonIgnore
61 public abstract String getExtendedStackTraceAsString();
62
63 @JsonIgnore
64 public abstract StackTraceElement[] getStackTrace();
65
66 @JsonProperty(JsonConstants.ELT_SUPPRESSED)
67 @JacksonXmlElementWrapper(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_SUPPRESSED)
68 @JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_SUPPRESSED_ITEM)
69 public abstract ThrowableProxy[] getSuppressedProxies();
70
71 @JsonIgnore
72 public abstract String getSuppressedStackTrace();
73
74 @JsonIgnore
75 public abstract Throwable getThrowable();
76
77 }