View Javadoc

1   package org.codehaus.xfire.message;
2   
3   import javax.xml.stream.XMLStreamReader;
4   import javax.xml.stream.XMLStreamWriter;
5   
6   import org.codehaus.xfire.MessageContext;
7   import org.codehaus.xfire.handler.SoapHandler;
8   import org.codehaus.xfire.service.object.ObjectService;
9   import org.codehaus.xfire.service.object.Operation;
10  import org.codehaus.xfire.type.TypeMapping;
11  
12  /***
13   * Basic message bridging functionality.
14   * 
15   * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
16   */
17  public abstract class AbstractMessageBridge
18      implements MessageBridge
19  {
20      private ObjectService service;
21  
22      private MessageContext context;
23      
24      private XMLStreamReader request;
25  
26      protected Operation operation;
27      
28      public AbstractMessageBridge()
29      {
30      }
31      
32      public AbstractMessageBridge(MessageContext context)
33      {
34          this.service = (ObjectService) context.getService();
35          this.context = context;
36          this.request = context.getXMLStreamReader();
37      }
38  
39      /***
40       * @return Returns the typeMappingRegistry.
41       */
42      public TypeMapping getTypeMapping()
43      {
44          return service.getTypeMapping();
45      }
46  
47      /***
48       * @return Returns the service.
49       */
50      public ObjectService getService()
51      {
52          return service;
53      }
54  
55      /***
56       * @return Returns the context.
57       */
58      public MessageContext getContext()
59      {
60          return context;
61      }
62  
63      /***
64       * @param context
65       *            The context to set.
66       */
67      public void setContext(MessageContext context)
68      {
69          this.context = context;
70      }
71  
72      public XMLStreamReader getRequestReader()
73      {
74          return request;
75      }
76  
77      /***
78       * @return Returns the response body.
79       */
80      public XMLStreamWriter getResponseWriter()
81      {
82          return (XMLStreamWriter) context.getProperty(SoapHandler.STAX_WRITER_KEY);
83      }
84  
85      /***
86       * @see org.codehaus.xfire.message.MessageBridge#getOperation()
87       */
88      public Operation getOperation()
89      {
90          return operation;
91      }
92  
93      /***
94       * @param operation
95       *            The operation to set.
96       */
97      public void setOperation(Operation operation)
98      {
99          this.operation = operation;
100     }
101 }