1 /**
2 * Copyright 2005-2012 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.core.api.exception;
17
18 import org.kuali.rice.core.api.CoreConstants;
19
20 import javax.xml.ws.WebFault;
21
22 /**
23 * Subclass of IllegalArgumentException that has been annotated properly using JAX-WS to be (un)marshalled as SOAP
24 * fault. This class should be used in place of IllegalArgumentException for all services to be exposed remotely
25 * within Rice.
26 *
27 * <p>Note that even though this is a {@code RuntimeException}, in places where it is used it needs to be explicitly
28 * declared in the {@code throws} declaration of the method. This ensures that the JAX-WS annotation properly
29 * marshals and unmarshals the exception to and from the appropriate SOAP fault.</p>
30 *
31 * @author Kuali Rice Team (rice.collab@kuali.org)
32 * @since 2.0
33 */
34 @WebFault(name = "IllegalArgumentFault", targetNamespace = CoreConstants.Namespaces.CORE_NAMESPACE_2_0)
35 public class RiceIllegalArgumentException extends IllegalArgumentException {
36
37 private static final long serialVersionUID = 3246611328810430837L;
38
39 public RiceIllegalArgumentException() {
40 }
41
42 public RiceIllegalArgumentException(String s) {
43 super(s);
44 }
45
46 public RiceIllegalArgumentException(String s, Throwable throwable) {
47 super(s, throwable);
48 }
49
50 public RiceIllegalArgumentException(Throwable throwable) {
51 super(throwable);
52 }
53 }