package model.data.xml.writers; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Collection; import model.PriceCategory; import model.data.exceptions.DataSaveException; import model.data.exceptions.RecordNotFoundException; import org.apache.ecs.Doctype; import org.apache.ecs.xml.XML; import org.apache.ecs.xml.XMLDocument; /** * PriceCategoryWriter.java * * @author Christopher Bertels (chbertel@uos.de) * @date 15.09.2008 */ public class PriceCategoryWriter extends AbstractWriter { public PriceCategoryWriter(String priceCategoriesFile) throws DataSaveException, FileNotFoundException { super(priceCategoriesFile); } public void savePriceCategories(Collection<PriceCategory> priceCategoriesToSave) throws IOException, RecordNotFoundException { XMLDocument document = new XMLDocument(); document.addToProlog(new Doctype("priceCategories", "'priceCategoryList'", "'priceCategories.dtd'")); XML priceCategoriesTag = new XML("priceCategories"); priceCategoriesTag.addXMLAttribute("minID", Integer.toString(PriceCategory.getMinID())); document.addElement(priceCategoriesTag); for (PriceCategory pc : priceCategoriesToSave) { document.addElement(new XML("priceCategory") .addXMLAttribute("pID", Integer.toString(pc.getID())) .addXMLAttribute("name", pc.getName()) .addXMLAttribute("price", Float.toString(pc.getPrice())) ); } writeToFile(document); } }