1 /**
2 * Logback: the reliable, generic, fast and flexible logging framework.
3 * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4 * <p>
5 * This program and the accompanying materials are dual-licensed under
6 * either the terms of the Eclipse Public License v1.0 as published by
7 * the Eclipse Foundation
8 * <p>
9 * or (per the licensee's choosing)
10 * <p>
11 * under the terms of the GNU Lesser General Public License version 2.1
12 * as published by the Free Software Foundation.
13 */
14 package ch.qos.logback.classic.spi;
15
16 public interface IThrowableProxy {
17
18 /**
19 * Return the overriding message if any. This method returns null
20 * if there is no overriding message.
21 *
22 * <p>Overriding message exists only if the original throwable implementation overrides the toString() method.</p>
23 *
24 * @return the overriding message or null
25 * @since 1.5.22
26 */
27 default String getOverridingMessage() {
28 return null;
29 }
30
31 String getMessage();
32
33 String getClassName();
34
35 StackTraceElementProxy[] getStackTraceElementProxyArray();
36
37 int getCommonFrames();
38
39 IThrowableProxy getCause();
40
41 IThrowableProxy[] getSuppressed();
42
43 /**
44 * Is this instance the result of a cyclic exception?
45 *
46 * @return true if cyclic, false otherwise
47 * @since 1.3.0
48 */
49 boolean isCyclic();
50 }