1 package net.avcompris.commons3.notifier.api; 2 3 import javax.annotation.Nullable; 4 5 import org.joda.time.DateTime; 6 7 public interface ErrorNotification { 8 9 DateTime getDateTime(); 10 11 String getClassName(); 12 13 @Nullable 14 String getMessage(); 15 16 @Nullable 17 ErrorNotification getCause(); 18 19 StackTraceElement[] getStackTrace(); 20 21 interface StackTraceElement { 22 23 @Nullable 24 String getClassName(); 25 26 @Nullable 27 String getMethodName(); 28 29 @Nullable 30 String getFileName(); 31 32 int getLineNumber(); 33 34 StackTraceElement setClassName(@Nullable String className); 35 36 StackTraceElement setMethodName(@Nullable String methodName); 37 38 StackTraceElement setFileName(@Nullable String fileName); 39 40 StackTraceElement setLineNumber(int lineNumber); 41 } 42 43 ErrorNotification setDateTime(DateTime dateTime); 44 45 ErrorNotification setClassName(String className); 46 47 ErrorNotification setMessage(@Nullable String message); 48 49 ErrorNotification setCause(@Nullable ErrorNotification cause); 50 51 ErrorNotification addToStackTrace(StackTraceElement ste); 52 }