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}