1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.example.loanbroker; 8 9 import org.mule.example.loanbroker.messages.CustomerQuoteRequest; 10 import org.mule.example.loanbroker.messages.LoanQuote; 11 12 /** 13 * <code>LoanBroker</code> is the Service that starts the loan request process. The 14 * broker also receives the final quote. 15 */ 16 public interface LoanBrokerService 17 { 18 /** 19 * Triggered by an incoming customer request for a loan. 20 * @return Outgoing payload will depend on the implementation 21 */ 22 Object getLoanQuote(CustomerQuoteRequest request) throws LoanBrokerException; 23 24 /** 25 * Triggered by an incoming offer from a bank. 26 * @return Outgoing payload will depend on the implementation 27 */ 28 Object receiveQuote(LoanQuote quote); 29 }