⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plaintextsalesformatter.java

📁 这是我修读美国卡耐基梅隆大学Carnegie Mellon University(CMU)课程ssd3:Object-Oriented Programming and Design时完成的课程设计
💻 JAVA
字号:
import java.util.*;

/**
 * The class PlainTextSalesFormatter implements the interface <code>SalesFormatter</code>. 
 * This class is implemented as a singleton so a new object will not be created 
 * every time the plain-text format is used.
 *
 * @author 张维
 * @version 1.0.0
 * @see SalesFormatter
 * @see Order
 * @see Product
 * @see OrderItem
 * @see Sales
 * @see Catalog
 * @see Coffee
 * @see CoffeeBrewer
 */
public class PlainTextSalesFormatter implements SalesFormatter {
 	
 	/* Line separator */
  private static final String NEW_LINE = System.getProperty("line.separator");
        
 	/* The single instance of class PlainTextSalesFormatter */
 	private static PlainTextSalesFormatter  singletonInstance = null;
 	
  /**
   * Returns the single instance of class <code>PlainTextBorrowersFormatter</code>
   *
   * @return the single instance  of class <code>PlainTextSalesFormatter</code>
   */
  public static PlainTextSalesFormatter getSingletonInstance( ) {

     if (singletonInstance == null) {
        singletonInstance = new PlainTextSalesFormatter( );
     }
     return singletonInstance;
  }
    
  /**
   * The constructor is declared private so other classes cannot 
   * create an instance of this class.
   */
  private PlainTextSalesFormatter( ) {
    	
  }
    
  /**
   * Returns a plain text representation of the specified sales
   *
   * @param sales  the Sales object that contains the orders that have been sold. 
   * @return  a plain text representation of the specified {@link Sales} object.
   */
   public String formatSales(Sales sales) {
   	
        String s = "";
        int i = 0;
        
        for(Iterator iterator = sales.getOrdersIterator( ); iterator.hasNext( );) {
        	
            Order order = (Order)iterator.next( );
            s = s + "------------------------" + NEW_LINE + "Order " + ++i + NEW_LINE + NEW_LINE;
            
            for(Iterator iterator1 = order.getItemsIterator( ); iterator1.hasNext( );) {            	
                OrderItem orderitem = (OrderItem)iterator1.next( );
                s = s + orderitem.getQuantity( ) + " " + orderitem.getProduct( ).getCode( ) 
                    + " " + orderitem.getProduct( ).getPrice( ) + NEW_LINE;
            }
            s = s + NEW_LINE + "Total = " + order.getTotalCost( ) + NEW_LINE;
        }
        return s;
    }
}

⌨️ 快捷键说明

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