htmlsalesformatter.java

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

JAVA
72
字号
/**
 * Esta clase crea una sola instancia y regresa una cadena de caracteres en HTML
 * cada vez que sea invocada.
 * 
 * @author  Marcos Alan Martinez Montes de Oca
 * @version 1.0.0
 */
public class HTMLSalesFormatter implements SalesFormatter {

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

	/**
	 * 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 HTMLSalesFormatter getSingletonInstance() {

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

		return singletonInstance;
	}

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

	/**
	 * Regresa una cadena de caracteres con el formato de la venta en HTML
	 * 
	 * @return una cadena de caracteres con el formato de la venta en HTML
	 */
	public String formatSales(Sales sales) {

		String out = "<html>\n\t<body>\n\t\t<center>"
				+ "<h2>Orders</h2></center>\n";
		
		double cant = 0.0;

		for (Order order : sales) {

			for (OrderItem orderItem : order) {

				out += "\t\t<p>\n\t\t\t<b>code:</b> "
						+ orderItem.getProduct().getCode()
						+ "<br>\n\t\t\t<b>quantity:</b> "
						+ orderItem.getQuantity()
						+ "<br>\n\t\t\t<b>price:</b> "
						+ orderItem.getProduct().getPrice() + "\n\t\t</p>\n";

				cant += orderItem.getValue();
			}

			out += "\t\t<hr>\n\t\t<h4>Total = " + cant + "</h4>\n"
					+ out;
			cant = 0;
		}
		out += "\t</body>\n</html>";
		return out;

	}

}

⌨️ 快捷键说明

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