fixes for saml 2 authnreq
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / profile / saml2 / AuthenticationRequestException.java
1 /*
2  * Copyright [2006] [University Corporation for Advanced Internet Development, Inc.]
3  *
4  * Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0
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
17 package edu.internet2.middleware.shibboleth.idp.profile.saml2;
18
19 import org.opensaml.saml2.core.Status;
20
21 /**
22  * Indicates an error while processing an {@link AuthenticationRequest}.
23  */
24 public class AuthenticationRequestException extends java.lang.Exception {
25
26         protected Status status = null;
27
28         /**
29          * Get the SAML 2 Status, if any, associated with this error.
30          * 
31          * @return A SAML 2 Status object, or <code>null</code> if none was set.
32          */
33         public Status getStatus() {
34                 return status;
35         }
36
37         /**
38          * Creates a new instance of <code>AuthenticationRequestException</code>
39          * without detail message.
40          */
41         public AuthenticationRequestException() {
42         }
43
44         /**
45          * Constructs an instance of <code>AuthenticationRequestException</code>
46          * with the specified detail message.
47          * 
48          * @param message
49          *            The detail message.
50          */
51         public AuthenticationRequestException(final String message) {
52                 super(message);
53         }
54
55         /**
56          * Constructs an instance of <code>AuthenticationRequestException</code>
57          * with the specified detail message.
58          * 
59          * @param message
60          *            The detail message.
61          * @param status
62          *            A SAML 2 Status indicated which error should be returned to
63          *            the requestor.
64          */
65         public AuthenticationRequestException(final String message,
66                         final Status status) {
67                 super(message);
68                 this.status = status;
69         }
70
71         /**
72          * Constructs an instance of <code>AuthenticationRequestException</code>
73          * with the specified cause and a detail message of
74          * <code>(cause==null ? null : cause.toString())</code> (which typically
75          * contains the class and detail message of cause). This constructor is
76          * useful for exceptions that are little more than wrappers for other
77          * throwables (for example, {@link PrivilegedActionException}).
78          * 
79          * @param cause
80          *            The cause (which is saved for later retrieval by the
81          *            {@link Throwable#getCause()} method). (A <code>null</code>
82          *            is permitted, and indicates that the cause is nonexistent or
83          *            unknown.)
84          */
85         public AuthenticationRequestException(final Throwable cause) {
86                 super(cause);
87         }
88
89         /**
90          * Constructs an instance of <code>AuthenticationRequestException</code>
91          * with the specified cause and a detail message of
92          * <code>(cause==null ? null : cause.toString())</code> (which typically
93          * contains the class and detail message of cause). This constructor is
94          * useful for exceptions that are little more than wrappers for other
95          * throwables (for example, {@link PrivilegedActionException}).
96          * 
97          * @param cause
98          *            The cause (which is saved for later retrieval by the
99          *            {@link Throwable#getCause()} method). (A <code>null</code>
100          *            is permitted, and indicates that the cause is nonexistent or
101          *            unknown.)
102          * @param code
103          *            A SAML 2 Status indicated which error should be returned to
104          *            the requestor.
105          */
106         public AuthenticationRequestException(final Throwable cause,
107                         final Status status) {
108                 super(cause);
109                 this.status = status;
110         }
111
112         /**
113          * Constructs a new exception with the specified detail message and cause.
114          * 
115          * Note that the detail message associated with cause is not automatically
116          * incorporated in this exception's detail message.
117          * 
118          * @param message
119          *            The detail message (which is saved for later retrieval by the
120          *            {@link Throwable#getMessage()} method).
121          * @param cause
122          *            The cause (which is saved for later retrieval by the
123          *            {@link Throwable#getCause()} method). (A <code>null</code>
124          *            is permitted, and indicates that the cause is nonexistent or
125          *            unknown.)
126          */
127         public AuthenticationRequestException(final String message,
128                         final Throwable cause) {
129                 super(message, cause);
130         }
131
132         /**
133          * Constructs a new exception with the specified detail message and cause.
134          * 
135          * Note that the detail message associated with cause is not automatically
136          * incorporated in this exception's detail message.
137          * 
138          * @param message
139          *            The detail message (which is saved for later retrieval by the
140          *            {@link Throwable#getMessage()} method).
141          * @param cause
142          *            The cause (which is saved for later retrieval by the
143          *            {@link Throwable#getCause()} method). (A <code>null</code>
144          *            is permitted, and indicates that the cause is nonexistent or
145          *            unknown.)
146          * @param code
147          *            A SAML 2 Status indicated which error should be returned to
148          *            the requestor.
149          */
150         public AuthenticationRequestException(final String message,
151                         final Throwable cause, final Status code) {
152                 super(message, cause);
153                 this.status = status;
154         }
155
156 }