📄 xmlsalesformatter.java
字号:
import java.util.*;
public class XMLSalesFormatter implements SalesFormatter{
private final static String NEW_LINE =
System.getProperty("line.separator");
static XMLSalesFormatter singletonInstance;
static public XMLSalesFormatter getSingletonInstance()
// Static method that obtains the single instance of class XMLSalesFormatter.
{
if (singletonInstance == null) {
singletonInstance = new XMLSalesFormatter();
}
return singletonInstance;
}
private XMLSalesFormatter()
//Constructor that is declared private so it is inaccessible to other classes. A private constructor makes it impossible for any other class to create an instance of class XMLSalesFormatter.
{
}
public String formatSales(Sales sales)
//Produces a string that contains the specified sales information in an XML format.
{
int numOrders = sales.getNumberOfOrders();
String out = "" ;
if (numOrders != 0) {
int orderNumber = 1;
out+="<Sales>\n";
for (Iterator i = sales.getOrdersIterator(); i.hasNext(); ) {
Order order = (Order) i.next();
orderNumber++;
out+="<Order total=\""+order.getTotalCost()+" \">"+"\n";
for (Iterator j = order.getItemsIterator(); j.hasNext();) {
OrderItem item=(OrderItem)j.next();
out+="<OrderItem quantity=\" "+item.getQuantity()+
"\" price=\" "+item.getProduct().getPrice()+
"\">"+item.getProduct().getCode()+"</OrderItem>\n";
}
out+="</Order>\n";
}
out+="</Sales>";
} else {
System.out.println("Sorry~There is no sales");
}
return out;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -