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 }