📄 plaintextsalesformatter.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 + -