[AAF-23] Updated Copyright Headers for AAF Inno
[aaf/inno.git] / env / src / main / java / com / att / inno / env / APIException.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aaf\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * * \r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * * \r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 package com.att.inno.env;\r
24 \r
25 \r
26 /**\r
27  * An Exception with the ability to hold a payload.<p>\r
28  * \r
29  * This is important, because sometimes, the output of a Framework\r
30  * may be a descriptive object which doesn't inherit from Throwable\r
31  * and thus cannot be attached in "initCause".<p>\r
32  * \r
33  * Examples may be a SOAP Fault.\r
34  * \r
35  *\r
36  */\r
37 public class APIException extends Exception {\r
38         \r
39         private Object payload = null;\r
40         \r
41         /**\r
42          * @param t\r
43          */\r
44         public APIException(Throwable t) {\r
45                 super(t);\r
46         }\r
47         \r
48         /**\r
49          * @param string\r
50          */\r
51         public APIException(String string) {\r
52                 super(string);\r
53         }\r
54 \r
55         /**\r
56          * @param errorMessage\r
57          * @param t\r
58          */\r
59         public APIException(String errorMessage, Throwable t) {\r
60                 super(errorMessage,t);\r
61         }\r
62 \r
63         /**\r
64          * Return payload, or null if none was set.  Type is up to the calling\r
65          * System.\r
66          * \r
67          * @return Object\r
68          */\r
69         public Object getPayload() {\r
70                 return payload;\r
71         }\r
72 \r
73         /**\r
74          * Set a specific payload into this Exception, which doesn't necessarily\r
75          * inherit from Throwable.\r
76          * \r
77          * @param payload\r
78          * @return APIException\r
79          */\r
80         public APIException setPayload(Object payload) {\r
81                 this.payload = payload;\r
82                 return this;\r
83         }\r
84 \r
85         /**\r
86          * Java expected serial ID\r
87          */\r
88         private static final long serialVersionUID = 3505343458251445169L;\r
89 }\r