001package horstmann.ch05_invoice;
002/**
003   This interface describes the tasks that an invoice
004   formatter needs to carry out.
005 */
006public interface InvoiceFormatter
007{
008        /**
009      Formats the header of the invoice.
010      @return the invoice header
011         */
012        String formatHeader();
013
014        /**
015      Formats a line item of the invoice.
016      @return the formatted line item
017         */
018        String formatLineItem(LineItem item);
019
020        /**
021      Formats the footer of the invoice.
022      @return the invoice footer
023         */
024        String formatFooter();
025}