/** * Copyright (c) 2012, Lindsay Bradford and other Contributors. * All rights reserved. * * This program and the accompanying materials are made available * under the terms of the BSD 3-Clause licence which accompanies * this distribution, and is available at * http://opensource.org/licenses/BSD-3-Clause */ package blacksmyth.personalfinancier.model; public class Account { private String nickname; private String detail; private boolean isBudgetAccount; public static final Account DEFAULT = new Account("Bills", "Bills Account Detail"); public static Account Create() { return new Account("New Account", "New Account Detail"); } public Account(String nickname) { init(nickname, null, true); } public Account(String nickname, String detail) { init(nickname, detail, true); } public Account(String nickname, boolean isBudgetAccount) { init(nickname, null, isBudgetAccount); } public Account(String nickname, String detail, boolean isBudgetAccount) { init(nickname, detail, isBudgetAccount); } private void init(String nickname, String detail, boolean isBudgetAccount) { this.setNickname(nickname); this.setDetail(detail); this.setBudgetAccount(true); } /** * returns a human understandable nickname for the account. * @return */ public String getNickname() { return nickname; } /** * Allows a human-understandable nickname to be set for the account. * @param nickname */ protected void setNickname(String nickname) { this.nickname = nickname; } public String getDetail() { return detail; } protected void setDetail(String detail) { this.detail = detail; } /** * indicated whether the account is used in budgetting. * @return */ public boolean isBudgetAccount() { return isBudgetAccount; } /** * Allows the account to be set as a budget account or not. * If it is a budget account it will be selectable as an * account for receiving budget item monies. * @param isBudgetAccount */ protected void setBudgetAccount(boolean isBudgetAccount) { this.isBudgetAccount = isBudgetAccount; } }