1 package org.codehaus.xfire.java.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.java.JavaService;
8
9 /***
10 * Create a MessageReaders and MessageWriters for a JavaService.
11 *
12 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
13 * @since Apr 7, 2004
14 */
15 public class MessageBridgeFactory
16 {
17
18 public static MessageBridge createMessageBridge( JavaService service,
19 MessageContext context,
20 XMLStreamReader request,
21 XMLStreamWriter response )
22 {
23 AbstractMessageBridge bridge;
24
25 if ( service.getStyle().equals("wrapped")
26 &&
27 service.getUse().equals("literal") )
28 {
29 bridge = new WrappedBridge( service, context, request, response );
30 }
31 else if ( service.getStyle().equals("document")
32 &&
33 service.getUse().equals("literal") )
34 {
35 bridge = new DocumentBridge( service, context, request, response );
36 }
37 else
38 {
39 throw new UnsupportedOperationException( "Service style/use not supported." );
40 }
41
42 return bridge;
43 }
44 }