/**
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.mifosplatform.organisation.teller.data;
import java.io.Serializable;
import java.util.Date;
/**
* {@code TellerJournalData} represents an immutable journal data object.
*
* @version 1.0.0
<<<<<<< HEAD
* @since 2.0.0
* @see java.io.Serializable
* @since 2.0.0
*/
public final class TellerJournalData implements Serializable {
private final Long officeId;
private final Long tellerId;
private final Date day;
private final Double openingBalance;
private final Double settledBalance;
private final Double closingBalance;
private final Double sumReceipts;
private final Double sumPayments;
/*
* Sole private CTOR to create a new instance.
*/
private TellerJournalData(final Long officeId, final Long tellerId, final Date day, final Double openingBalance,
final Double settledBalance, final Double closingBalance, final Double sumReceipts,
final Double sumPayments) {
this.officeId = officeId;
this.tellerId = tellerId;
this.day = day;
this.openingBalance = openingBalance;
this.settledBalance = settledBalance;
this.closingBalance = closingBalance;
this.sumReceipts = sumReceipts;
this.sumPayments = sumPayments;
}
/**
* Create a new teller journal data object.
*
* @param officeId - id of related office
* @param tellerId - id of related teller
* @param day - day of this journals data
* @param openingBalance - balance at the time of opening the teller
* @param settledBalance - balance at the time od settling the teller
* @param closingBalance - balance at the time of closing the teller
* @param sumReceipts - sum of all posted receipts
* @param sumPayments - sum of all posted payments
* @return the new created {@code TellerJournalData}
*/
public static TellerJournalData instance(final Long officeId, final Long tellerId, final Date day,
final Double openingBalance, final Double settledBalance,
final Double closingBalance, final Double sumReceipts,
final Double sumPayments) {
return new TellerJournalData(officeId, tellerId, day, openingBalance, settledBalance, closingBalance, sumReceipts,
sumPayments);
}
public Long getOfficeId() {
return officeId;
}
public Long getTellerId() {
return tellerId;
}
public Date getDay() {
return day;
}
public Double getOpeningBalance() {
return openingBalance;
}
public Double getSettledBalance() {
return settledBalance;
}
public Double getClosingBalance() {
return closingBalance;
}
public Double getSumReceipts() {
return sumReceipts;
}
public Double getSumPayments() {
return sumPayments;
}
}