// Chromis POS - The New Face of Open Source POS // Copyright (c) (c) 2015-2016 // http://www.chromis.co.uk // // This file is part of Chromis POS // // Chromis POS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Chromis POS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Chromis POS. If not, see <http://www.gnu.org/licenses/>. package uk.chromis.pos.ticket; import uk.chromis.format.Formats; /** * * */ public class TicketTaxInfo { private final TaxInfo tax; private double subtotal; private double taxtotal; /** Creates a new instance of TicketTaxInfo * @param tax */ public TicketTaxInfo(TaxInfo tax) { this.tax = tax; subtotal = 0.0; taxtotal = 0.0; } /** * * @return */ public TaxInfo getTaxInfo() { return tax; } /** * * @param dValue */ public void add(double dValue) { subtotal += dValue; taxtotal = subtotal * tax.getRate(); } /** * * @return */ public double getSubTotal() { return subtotal; } /** * * @return */ public double getTax() { return taxtotal; } /** * * @return */ public double getTotal() { return subtotal + taxtotal; } /** * * @return */ public String printSubTotal() { return Formats.CURRENCY.formatValue(new Double(getSubTotal())); } /** * * @return */ public String printTax() { return Formats.CURRENCY.formatValue(new Double(getTax())); } /** * * @return */ public String printTotal() { return Formats.CURRENCY.formatValue(new Double(getTotal())); } }