order.java

来自「《JAVA与模式》附书中源代码」· Java 代码 · 共 78 行

JAVA
78
字号
package com.javapatterns.decorator.printinvoice;

import java.util.Date;
import java.util.Vector;
import java.text.NumberFormat;

abstract public class Order
{
    /**
     * @link aggregation
     * @directed
     * @supplierCardinality 0..*
     * @clientCardinality 1 
     */
    private OrderLine lnkOrderLine;
    protected String customerName;
    protected Date salesDate;
	protected Vector items = new Vector(10);

    public void print()
    {
		for (int i = 0 ; i < items.size() ; i++)
        {
			OrderLine item = (OrderLine) items.get(i);
            item.printLine();
        }
    }

    public String getCustomerName()
    {
        return customerName;
    }

    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public Date getSalesDate()
    {
        return salesDate;
    }

    public void setSalesDate(Date salesDate)
    {
        this.salesDate = salesDate;
    }

    public void addItem(OrderLine item)
    {
        items.add(item);
    }

    public void remoteItem(OrderLine item)
    {
        items.remove(item);
    }

    public double getGrandTotal()
    {
        double amnt = 0.0D;

		for (int i = 0 ; i < items.size() ; i++)
        {
			OrderLine item = (OrderLine) items.get(i);
            amnt += item.getSubtotal();
        }

        return amnt;
    }

    protected String formatCurrency(double amnt)
    {
        return NumberFormat.getCurrencyInstance().format(amnt);
    }

}

⌨️ 快捷键说明

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