📄 xmlsalesformatter.java
字号:
import java.util.*;
public class XMLSalesFormatter implements SalesFormatter{
static public XMLSalesFormatter singletonInstance = null;
private XMLSalesFormatter() {
}
static public XMLSalesFormatter getSingletonInstance() {
if(singletonInstance == null) {
singletonInstance = new XMLSalesFormatter();
}
return XMLSalesFormatter.singletonInstance;
}
public String formatSales(Sales sales) {
String record = "";
double total = 0.0;
/** Why can't use this!!!
*for(Iterator<Order> temp = sales.iterator(); temp.hasNext();)
* total += temp.next().getTotalCost();
*
*record += "<Sales>\n" +
* "<Order total=\"" + total + "\">";
*
*for(Iterator<Order> temp1 = sales.iterator(); temp1.hasNext();) {
* for(Iterator<OrderItem> temp2 = temp1.next().iterator(); temp2.hasNext();) {
* record += "<OrderItem quantity=\"" + temp2.next().getQuantity() +
* "\" price=\"" + temp2.next().getProduct().getPrice() +
* "\">" + temp2.next().getProduct().getCode() +
* "</OrderItem>\n";
* }
*}
*/
for(Order temp: sales.orders) {
total += temp.getTotalCost();
}
record += "<Sales>\n" +
"<Order total=\"" + total + "\">";
for(Order temp1: sales.orders) {
for(OrderItem temp2: temp1.getOrderItem()) {
record += "<OrderItem quantity=\"" + temp2.getQuantity() +
"\" price=\"" + temp2.getProduct().getPrice() +
"\">" + temp2.getProduct().getCode() +
"</OrderItem>\n";
}
}
record += "</Order>\n</Sales>";
return record;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -