⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loanapplication.java

📁 虽然商业的规则引擎和BPM系统有许多优点
💻 JAVA
字号:
package business;

import java.util.Arrays;

/** TODO 5
让我们看一下这个框架如何工作的具体实例吧。想象下面的用例:我们需要开发负责贷款申请的应用程序。我们需要满足下面的条件:
●检查应用的完整性否则驳回
●检查应用是否来自我们授权处理业务的应用。
●检查申请者的月收支比是否满足我们的要求。
●输入的申请通过我们不知道实现细节的持久服务被存储在数据库中,我们只知道他的接口(可能这个开发被外包到印度了)
●业务规则是可以改变的,这也是为什么需要规则引擎的设计了。
 * 首先,表示贷款申请的类
 */
public class LoanApplication {
    public static final String INVALID_STATE = "Sorry we are not doing business in your state";
    public static final String INVALID_INCOME_EXPENSE_RATIO = "Sorry we cannot provide the loan given this expense/income ratio";
    public static final String APPROVED = "Your application has been approved";
    public static final String INSUFFICIENT_DATA = "You did not provide enough information on your application";
    public static final String INPROGRESS = "in progress";
    public static final String[] STATUSES = new String[] {
                INSUFFICIENT_DATA, INVALID_INCOME_EXPENSE_RATIO, INVALID_STATE, APPROVED, INPROGRESS
    };
    private String firstName;
    private String lastName;
    private double income;
    private double expences;
    private String stateCode;
    private String status;

    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        if(!Arrays.asList(STATUSES).contains(status))
            throw new IllegalArgumentException("invalid status:" + status);
        this.status = status;
    }// 其他getters and setters

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getStateCode() {
        return stateCode;
    }

    public void setStateCode(String stateCode) {
        this.stateCode = stateCode;
    }

    public double getExpences() {
        return expences;
    }

    public void setExpences(double expences) {
        this.expences = expences;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public double getIncome() {
        return income;
    }

    public void setIncome(double income) {
        this.income = income;
    }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -