IOT-3143
[iotivity.git] / cloud / stack / src / main / java / org / iotivity / cloud / base / exception / ServerException.java
1 package org.iotivity.cloud.base.exception;
2
3 import org.iotivity.cloud.base.protocols.enums.ResponseStatus;
4
5 public class ServerException extends RuntimeException {
6     private static final long serialVersionUID = -3650388853103279698L;
7     private ResponseStatus    mErrorResponse   = ResponseStatus.INTERNAL_SERVER_ERROR;
8
9     public ServerException(ResponseStatus errorResponse) {
10         super(errorResponse.toString());
11         mErrorResponse = errorResponse;
12     }
13
14     public ServerException(ResponseStatus errorResponse, String msg) {
15         super(errorResponse.toString() + ", " + msg);
16         mErrorResponse = errorResponse;
17     }
18
19     public ResponseStatus getErrorResponse() {
20         return mErrorResponse;
21     }
22
23     public static class BadRequestException extends ServerException {
24         private static final long serialVersionUID = -7903463045263420748L;
25
26         public BadRequestException() {
27             super(ResponseStatus.BAD_REQUEST);
28         }
29
30         public BadRequestException(String msg) {
31             super(ResponseStatus.BAD_REQUEST, msg);
32         }
33     }
34
35     public static class BadOptionException extends ServerException {
36         private static final long serialVersionUID = -1133293352997486233L;
37
38         public BadOptionException() {
39             super(ResponseStatus.BAD_OPTION);
40         }
41
42         public BadOptionException(String msg) {
43             super(ResponseStatus.BAD_OPTION, msg);
44         }
45     }
46
47     public static class NotFoundException extends ServerException {
48         private static final long serialVersionUID = 775328915430229701L;
49
50         public NotFoundException() {
51             super(ResponseStatus.NOT_FOUND);
52         }
53
54         public NotFoundException(String msg) {
55             super(ResponseStatus.NOT_FOUND, msg);
56         }
57     }
58
59     public static class UnAuthorizedException extends ServerException {
60         private static final long serialVersionUID = -1413182067769946759L;
61
62         public UnAuthorizedException() {
63             super(ResponseStatus.UNAUTHORIZED);
64         }
65
66         public UnAuthorizedException(String msg) {
67             super(ResponseStatus.UNAUTHORIZED, msg);
68         }
69     }
70
71     public static class InternalServerErrorException extends ServerException {
72         private static final long serialVersionUID = -4873009823652617325L;
73
74         public InternalServerErrorException() {
75             super(ResponseStatus.INTERNAL_SERVER_ERROR);
76         }
77
78         public InternalServerErrorException(String msg) {
79             super(ResponseStatus.INTERNAL_SERVER_ERROR, msg);
80         }
81     }
82
83     public static class MethodNotAllowedException extends ServerException {
84         private static final long serialVersionUID = -3491771205478082847L;
85
86         public MethodNotAllowedException() {
87             super(ResponseStatus.METHOD_NOT_ALLOWED);
88         }
89
90         public MethodNotAllowedException(String msg) {
91             super(ResponseStatus.METHOD_NOT_ALLOWED, msg);
92         }
93     }
94
95     public static class PreconditionFailedException extends ServerException {
96         private static final long serialVersionUID = -4139595328143251734L;
97
98         public PreconditionFailedException() {
99             super(ResponseStatus.PRECONDITION_FAILED);
100         }
101
102         public PreconditionFailedException(String msg) {
103             super(ResponseStatus.PRECONDITION_FAILED, msg);
104         }
105     }
106
107     public static class ForbiddenException extends ServerException {
108         private static final long serialVersionUID = -2217447793288515253L;
109
110         public ForbiddenException() {
111             super(ResponseStatus.FORBIDDEN);
112         }
113
114         public ForbiddenException(String msg) {
115             super(ResponseStatus.FORBIDDEN, msg);
116         }
117     }
118
119     public static class ServiceUnavailableException extends ServerException {
120         private static final long serialVersionUID = -112373218973982719L;
121
122         public ServiceUnavailableException() {
123             super(ResponseStatus.SERVICE_UNAVAILABLE);
124         }
125
126         public ServiceUnavailableException(String msg) {
127             super(ResponseStatus.SERVICE_UNAVAILABLE, msg);
128         }
129     }
130 }