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