Added a providerId getter as a convenience.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / profile / saml2 / ProfileResponseContext.java
1 /*
2  * Copyright [2007] [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.joda.time.DateTime;
20 import org.opensaml.saml2.core.SubjectQuery;
21 import org.opensaml.saml2.core.AttributeStatement;
22
23 import edu.internet2.middleware.shibboleth.common.profile.ProfileRequest;
24
25 /**
26  * Contains contextual information used in processing profile responses.
27  */
28 public class ProfileResponseContext {
29
30     /** Profile request. */
31     private ProfileRequest request;
32
33     /** Profile request message. */
34     private SubjectQuery message;
35
36     /** Provider id to retrieve relying party configuration. */
37     private String providerId;
38     
39     /** Issue instant for the response. */
40     private DateTime issueInstant;
41
42     /** Response statement. */
43     private AttributeStatement attributeStatement;
44
45     /**
46      * Constructor.
47      * 
48      * @param r serlvet request
49      * @param m decoded profile request message
50      */
51
52     public ProfileResponseContext(ProfileRequest r, SubjectQuery m) {
53         request = r;
54         message = m;
55         providerId = m.getIssuer().getSPProvidedID();
56         issueInstant = new DateTime();
57     }
58
59     /**
60      * Gets the initiating profile request.
61      * 
62      * @return profile request
63      */
64     public ProfileRequest getRequest() {
65         return request;
66     }
67
68     /**
69      * Gets the decoded profile request message.
70      * 
71      * @return profile request message
72      */
73     public SubjectQuery getMessage() {
74         return message;
75     }
76
77     /**
78      * Gets the provider id.
79      * 
80      * @return provider id
81      */
82     public String getProviderId() {
83         return providerId;
84     }
85     
86     /**
87      * Gets the issue instant for the response.
88      * 
89      * @return issue instant
90      */
91     public DateTime getIssueInstant() {
92         return issueInstant;
93     }
94
95     /**
96      * Sets a attribute statement associated with this response.
97      * 
98      * @param s to sets
99      */
100     public void setAttributeStatement(AttributeStatement s) {
101         attributeStatement = s;
102     }
103
104     /**
105      * Gets the statement associated with this response.
106      * 
107      * @return response statement
108      */
109     public AttributeStatement getAttributeStatement() {
110         return attributeStatement;
111     }
112 }