plaintextsalesformatter.java

来自「Exercise 5 SSD3 icarnegie mellon」· Java 代码 · 共 73 行

JAVA
73
字号
/**
 * 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 + =
减小字号Ctrl + -
显示快捷键?