View Javadoc

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 org.opensaml.ws.message;
18  
19  import org.opensaml.ws.message.handler.HandlerChainResolver;
20  import org.opensaml.ws.security.SecurityPolicyResolver;
21  import org.opensaml.ws.transport.InTransport;
22  import org.opensaml.ws.transport.OutTransport;
23  import org.opensaml.xml.XMLObject;
24  import org.opensaml.xml.util.DatatypeHelper;
25  
26  /**
27   * Base class for message context implementations.
28   */
29  public class BaseMessageContext implements MessageContext {
30      
31      /** Unique id of the communication profile in use. */
32      private String communicationProfile;
33  
34      /** The inbound message. */
35      private XMLObject inboundMessage;
36  
37      /** Issuer of the inbound message. */
38      private String inboundMessageIssuer;
39  
40      /** Inbound message transport. */
41      private InTransport inboundTransport;
42  
43      /** Outbound message. */
44      private XMLObject outboundMessage;
45  
46      /** Issuer of the outbound message. */
47      private String outboundMessageIssuer;
48  
49      /** Outbound message transport. */
50      private OutTransport outboundTransport;
51      
52      /** Resolver used to determine active security policy. */
53      private SecurityPolicyResolver securityPolicyResolver;
54      
55      /** Pre-SecurityPolicy inbound handler chain. */
56      private HandlerChainResolver preSecurityInboundHandlerChainResolver;
57      
58      /** Post-SecurityPolicy inbound handler chain. */
59      private HandlerChainResolver postSecurityInboundHandlerChainResolver;
60      
61      /** Inbound handler chain. */
62      private HandlerChainResolver outboundHandlerChainResolver;
63      
64      /** {@inheritDoc} */
65      public String getCommunicationProfileId() {
66          return communicationProfile;
67      }
68      
69      /** {@inheritDoc} */
70      public XMLObject getInboundMessage() {
71          return inboundMessage;
72      }
73      
74      /** {@inheritDoc} */
75      public String getInboundMessageIssuer() {
76          return inboundMessageIssuer;
77      }
78      
79      /** {@inheritDoc} */
80      public InTransport getInboundMessageTransport() {
81          return inboundTransport;
82      }
83      
84      /** {@inheritDoc} */
85      public XMLObject getOutboundMessage() {
86          return outboundMessage;
87      }
88      
89      /** {@inheritDoc} */
90      public String getOutboundMessageIssuer() {
91          return outboundMessageIssuer;
92      }
93  
94      /** {@inheritDoc} */
95      public OutTransport getOutboundMessageTransport() {
96          return outboundTransport;
97      }
98  
99      /** {@inheritDoc} */
100     public SecurityPolicyResolver getSecurityPolicyResolver() {
101         return securityPolicyResolver;
102     }
103 
104     /** {@inheritDoc} */
105     public void setCommunicationProfileId(String id) {
106         communicationProfile = DatatypeHelper.safeTrimOrNullString(id);
107     }
108 
109     /** {@inheritDoc} */
110     public void setInboundMessage(XMLObject message) {
111         inboundMessage = message;
112     }
113 
114     /** {@inheritDoc} */
115     public void setInboundMessageIssuer(String issuer) {
116         inboundMessageIssuer = issuer;
117     }
118 
119     /** {@inheritDoc} */
120     public void setInboundMessageTransport(InTransport transport) {
121         inboundTransport = transport;
122     }
123 
124     /** {@inheritDoc} */
125     public void setOutboundMessage(XMLObject message) {
126         outboundMessage = message;
127     }
128 
129     /** {@inheritDoc} */
130     public void setOutboundMessageIssuer(String issuer) {
131         outboundMessageIssuer = issuer;
132     }
133 
134     /** {@inheritDoc} */
135     public void setOutboundMessageTransport(OutTransport transport) {
136         outboundTransport = transport;
137     }
138 
139     /** {@inheritDoc} */
140     public void setSecurityPolicyResolver(SecurityPolicyResolver resolver) {
141         securityPolicyResolver = resolver;
142     }
143     
144     /** {@inheritDoc} */
145     public boolean isIssuerAuthenticated() {
146             return getInboundMessageTransport().isAuthenticated();
147     }
148 
149     /** {@inheritDoc} */
150     public HandlerChainResolver getPreSecurityInboundHandlerChainResolver() {
151         return preSecurityInboundHandlerChainResolver;
152     }
153     
154     /** {@inheritDoc} */
155     public HandlerChainResolver getPostSecurityInboundHandlerChainResolver() {
156         return postSecurityInboundHandlerChainResolver;
157     }
158 
159     /** {@inheritDoc} */
160     public HandlerChainResolver getOutboundHandlerChainResolver() {
161         return outboundHandlerChainResolver;
162     }
163 
164     /** {@inheritDoc} */
165     public void setPreSecurityInboundHandlerChainResolver(HandlerChainResolver newHandlerChainResolver) {
166         preSecurityInboundHandlerChainResolver = newHandlerChainResolver;
167     }
168     
169     /** {@inheritDoc} */
170     public void setPostSecurityInboundHandlerChainResolver(HandlerChainResolver newHandlerChainResolver) {
171         postSecurityInboundHandlerChainResolver = newHandlerChainResolver;
172     }
173 
174     /** {@inheritDoc} */
175     public void setOutboundHandlerChainResolver(HandlerChainResolver newHandlerChainResolver) {
176         outboundHandlerChainResolver = newHandlerChainResolver;
177     }
178 }