View Javadoc
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  }