?? xmlsalesformatter.java
字號:
import java.util.*;
/**
* The class XMLSalesFormatter implements the interface SalesFormatter.
* This class is implemented as a singleton so a new object will not be
* created every time the XML format is used.
*
* @author 張維
* @version 1.0.0
* @see SalesFormatter
* @see Order
* @see Product
* @see OrderItem
* @see Sales
* @see Catalog
* @see Coffee
* @see CoffeeBrewer
*/
public class XMLSalesFormatter implements SalesFormatter {
/* Line separator */
private static final String NEW_LINE = System.getProperty("line.separator");
/* Single instance of this class */
private static XMLSalesFormatter singletonInstance = null;
/**
* Returns the single instance of class <code>XMLSalesFormatter</code>
*
* @return the single instance of class <code>XMLSalesFormatter</code>
*/
public static XMLSalesFormatter getSingletonInstance( ) {
if (singletonInstance == null) {
singletonInstance = new XMLSalesFormatter( );
}
return singletonInstance;
}
/**
* The constructor is declared private so other classes cannot
* create an instance of this class.
*/
private XMLSalesFormatter( ) {
}
/**
* Returns an XML representation of the specified sales.
*
* @param sales the Sales object that contains the orders that have been sold.
* @return a XML representation of the specified <code>Sales</code> object.
*/
public String formatSales(Sales sales) {
String s = "<Sales>" + NEW_LINE;
for(Iterator iterator = sales.getOrdersIterator( ); iterator.hasNext( );) {
Order order = (Order)iterator.next( );
s = s + " <Order total=\"" + order.getTotalCost() + "\">" + NEW_LINE;
for(Iterator iterator1 = order.getItemsIterator( ); iterator1.hasNext( );) {
OrderItem orderitem = (OrderItem)iterator1.next( );
s = s + " <OrderItem quantity=\"" + orderitem.getQuantity( )
+ "\" price=\"" + orderitem.getProduct( ).getPrice( ) + "\">"
+ orderitem.getProduct( ).getCode( ) + "</OrderItem>" + NEW_LINE;
}
s = s + " </Order>" + NEW_LINE;
}
s = s + "</Sales>";
return s;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -