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

📄 plaintextsalesformatter.java

📁 Exercise 5 SSD3 icarnegie mellon
💻 JAVA
字号:
/**
 * Esta clase crea una sola instancia y regresa una cadena de caracteres  en 
 * texto plano cada vez que sea invocada.
 * 
 * @author  Marcos Alan Martinez Montes de Oca
 * @version 1.0.0
 */
public class PlainTextSalesFormatter implements SalesFormatter{

	//La unica instancia de PlainTextSalesFormatter.
	static private PlainTextSalesFormatter singletonInstance = null;

	//En lugar de \n, usamos este separador que se adapta al sistema usado.
	private final static String NEW_LINE = System.getProperty("line.separator");

	/**
	 * Obtiene la unica instancia de mi clase PlainTextSalesFormatter.
	 * Si no hay una instancia previa, la crea. Si ya existe, regresa la 
	 * instancia existente.
	 * 
	 * @return la unica instancia de PlainTextSalesFormatter
	 */
	static public PlainTextSalesFormatter getSingletonInstance() {

		if (singletonInstance == null) {
			singletonInstance = new PlainTextSalesFormatter();
		}

		return singletonInstance;
	}

	/**
	 * Declaro el constructor como privado para que otras clases no puedan
	 * crear instancias multiples.
	 */
	private PlainTextSalesFormatter() {
	}

	/**
	 * Regresa una cadena de caracteres con el formato de la venta en 
	 * texto plano
	 * 
	 * @return una cadena de caracteres con el formato de la venta en texto 
	 * plano
	 */
	public String formatSales(Sales sales) {
		
		String out = "";
		int incremento = 1;
		double cant = 0.0;
	
		for (Order order : sales){
			out += "------------------------" + NEW_LINE
			+ "Order " + incremento + NEW_LINE + NEW_LINE;
			for (OrderItem  orderItem : order) {
				
				out += orderItem.getQuantity() + " "
					   + orderItem.getProduct().getCode() + " "
					   + orderItem.getProduct().getPrice()  + NEW_LINE;
				
				cant += orderItem.getValue();
			}
			
			out += "\nTotal: " + cant + NEW_LINE;
			incremento++;
			cant = 0;
		}
        return out;
    }


}	

⌨️ 快捷键说明

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