View Javadoc

1   /**
2    * Copyright 2005-2013 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  }