View Javadoc
1   /**
2    * Copyright 2005-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.krad.exception;
17  
18  import java.util.Map;
19  
20  /**
21   * This class contains the exception incident information, exception, form and
22   * session user. It is constructed and saved into the HTTP Request for passing to the
23   * jsp when an exception occurs.
24   *
25   * @author Kuali Rice Team (rice.collab@kuali.org)
26   *
27   */
28  public interface KualiExceptionIncident {
29      /**
30       * The error report subject built from current settings and caught exception
31       * <p>Value is exceptionReportSubject
32       */
33       public static final String EXCEPTION_REPORT_SUBJECT="exceptionReportSubject";
34  
35       /**
36        * Boolean value for incident report display
37        */
38       public static final String EXCEPTION_HIDE_INCIDENT_REPORT = "exceptionHideIncidentReport";
39      /**
40       * The error report message
41       * <p>Value is exceptionReportMessage
42       */
43       public static final String EXCEPTION_REPORT_MESSAGE="exceptionReportMessage";
44       /**
45        * The error message
46        * <p>Value is exceptionMessage
47        */
48        public static final String EXCEPTION_MESSAGE="exceptionMessage";
49       /**
50        * The error message to be displayed
51        * <p>Value is displayMessage
52        */
53       public static final String DISPLAY_MESSAGE="displayMessage";
54       /**
55       * Additional message from user
56        * <p>Value is description
57       */
58       public static final String DESCRIPTION="description";
59       /**
60        * Document id. it's blank if not a document process
61        * <p>Value is documentId
62        */
63       public static final String DOCUMENT_ID="documentId";
64       /**
65        * Session user email address
66        * <p>Value is userEmail
67        */
68       public static final String USER_EMAIL="userEmail";
69       /**
70        * Session user login name
71        * <p>Value is principalName
72        */
73       public static final String UUID="principalName";
74       /**
75        * Session user name
76        * <p>Value is userName
77        */
78       public static final String USER_NAME="userName";
79       /**
80        * Detail message not for displaying
81       * <p>Value is stackTrace
82        */
83       public static final String STACK_TRACE="stackTrace";
84       /**
85       * Form that threw the exception
86       * <p>Value is componentName
87       */
88       public static final String COMPONENT_NAME="componentName";
89  
90      /**
91       * This method return list of {key,value} pairs that each key is the constants
92       * defined in this interface.
93       *
94       * @return
95       * <p>Example:
96       * <code>
97       * documentId, 2942084
98       * userEmail, someone@somewhere
99       * userName, some name
100      * componentFormName, Form that threw exception name
101      * exceptionMessage, Error message from exception
102      * displayMessage, Either exception error message or generic exception error message
103      * stackTrace, Exception stack trace here
104      * </code>
105      *
106      */
107     public Map<String, String> toProperties();
108 
109     /**
110      * This method checks the exception (set during construction) and return error
111      * message if it's Kuali type of exception (defined by the list of exception names).
112      * Otherwise, it returns a generic message.
113      *
114      * @param exception The caught exception
115      * @return display message
116      */
117     public String getDisplayMessage(Exception exception);
118 
119     /**
120      * This method get the specified key value from the implementing class.
121      *
122      * @param key
123      * @return null is return if not found
124      */
125     public String getProperty(String key);
126 
127 }