Clean up some SonarQube warnings (trailing whitespace, etc).
[platform/upstream/iotivity.git] / android / android_api / base / src / main / java / org / iotivity / base / OcException.java
1 /*
2  * //******************************************************************
3  * //
4  * // Copyright 2015 Intel Corporation.
5  * //
6  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7  * //
8  * // Licensed under the Apache License, Version 2.0 (the "License");
9  * // you may not use this file except in compliance with the License.
10  * // You may obtain a copy of the License at
11  * //
12  * //      http://www.apache.org/licenses/LICENSE-2.0
13  * //
14  * // Unless required by applicable law or agreed to in writing, software
15  * // distributed under the License is distributed on an "AS IS" BASIS,
16  * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * // See the License for the specific language governing permissions and
18  * // limitations under the License.
19  * //
20  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21  */
22
23 package org.iotivity.base;
24
25 public class OcException extends Exception {
26
27     private ErrorCode errorCode;
28
29     public OcException(ErrorCode errorCode, String errMessage) {
30         super(errMessage + " " + errorCode.toString());
31         this.errorCode = errorCode;
32     }
33
34     private OcException(String error, String errMessage) {
35         super(errMessage + " " + error);
36         this.errorCode = ErrorCode.get(error);
37     }
38
39     public ErrorCode getErrorCode() {
40         return errorCode;
41     }
42
43     private static void addStackTrace(Throwable throwable,
44                                       String file,
45                                       String functionName,
46                                       int line) {
47         StackTraceElement[] stack = throwable.getStackTrace();
48         StackTraceElement[] newStack = new StackTraceElement[stack.length + 1];
49
50         System.arraycopy(stack, 0, newStack, 1, stack.length);
51         newStack[0] = new StackTraceElement("<native>", functionName, file, line);
52         throwable.setStackTrace(newStack);
53     }
54
55     private void setNativeExceptionLocation(String file, String functionName, int line) {
56         OcException.addStackTrace(this, file, functionName, line);
57     }
58 }