View Javadoc

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  }