doc.appendChild(cueSheetElement); addAttribute(cueSheetElement, "genre", cueSheet.getGenre()); addAttribute(cueSheetElement, "date", cueSheet.getYear()); addAttribute(cueSheetElement, "discid", cueSheet.getDiscid()); addAttribute(cueSheetElement, "comment", cueSheet.getComment()); addAttribute(cueSheetElement, "catalog", cueSheet.getCatalog()); addAttribute(cueSheetElement, "performer", cueSheet.getPerformer()); addAttribute(cueSheetElement, "title", cueSheet.getTitle()); addAttribute(cueSheetElement, "songwriter", cueSheet.getSongwriter()); addAttribute(cueSheetElement, "cdtextfile", cueSheet.getCdTextFile()); serializeFileData(cueSheetElement, fileData);
/** * Serialize the flags. * @param parentElement The parent element for the TrackData. * @param flags The flags to serialize. */ private void serializeFlags(final Element parentElement, final Set<String> flags) { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeFlags(Element,Set<String>)" , new Object[] {parentElement, flags} ); Document doc = parentElement.getOwnerDocument(); Element flagsElement = doc.createElementNS(this.namespace, "flags"); parentElement.appendChild(flagsElement); for (String flag : flags) { addElement(flagsElement, "flag", flag); } CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeFlags(Element,Set<String>)"); }
/** * Write an XML representation of the cue sheet. * @param cueSheet The CueSheet to serialize. * @param file The File to write the XML representation to. * @throws TransformerException */ public void serializeCueSheet(final CueSheet cueSheet, final File file) throws TransformerException { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeCueSheet(CueSheet,File)" , new Object[] {cueSheet, file} ); serializeCueSheet(cueSheet, new StreamResult(file)); CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeCueSheet(CueSheet,File)"); }
parentElement.appendChild(trackElement); addAttribute(trackElement, "number", trackData.getNumber()); addAttribute(trackElement, "type", trackData.getDataType()); addAttribute(trackElement, "isrc", trackData.getIsrcCode()); addAttribute(trackElement, "performer", trackData.getPerformer()); addAttribute(trackElement, "title", trackData.getTitle()); addAttribute(trackElement, "songwriter", trackData.getSongwriter()); addElement(trackElement, "pregap", trackData.getPregap()); addElement(trackElement, "postgap", trackData.getPostgap()); serializeFlags(trackElement, trackData.getFlags()); serializeIndex(trackElement, index);
/** * Serialize the index. * @param parentElement The parent element for the TrackData. * @param index The Index to serialize. */ private void serializeIndex(final Element parentElement, final Index index) { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeIndex(Element,Index)" , new Object[] {parentElement, index} ); Element indexElement = addElement(parentElement, "index", index.getPosition(), true); addAttribute(indexElement, "number", index.getNumber()); CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeIndex(Element,Index)"); }
/** * Serialize the FileData. * @param parentElement The parent element for the FileData. * @param fileData The FileData to serialize. */ private void serializeFileData(final Element parentElement, final FileData fileData) { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeFileData(Element,FileData)" , new Object[] {parentElement, fileData} ); Document doc = parentElement.getOwnerDocument(); Element fileElement = doc.createElementNS(this.namespace, "file"); parentElement.appendChild(fileElement); addAttribute(fileElement, "file", fileData.getFile()); addAttribute(fileElement, "type", fileData.getFileType()); for (TrackData trackData : fileData.getTrackData()) { serializeTrackData(fileElement, trackData); } CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeFileData(Element,FileData)"); }
CueSheetToXmlSerializer xmlSerializer = new CueSheetToXmlSerializer(); xmlSerializer.serializeCueSheet(sheet, System.out);
/** * Write an XML representation of the cue sheet. * @param cueSheet The CueSheet to serialize. * @param writer The Writer to write the XML representation to. * @throws TransformerException */ public void serializeCueSheet(final CueSheet cueSheet, final Writer writer) throws TransformerException { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeCueSheet(CueSheet,Writer)" , new Object[] {cueSheet, writer} ); serializeCueSheet(cueSheet, new StreamResult(writer)); CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeCueSheet(CueSheet,Writer)"); }
/** * Add a position element. The element is only added if the position is != null. * In the latter case, the attributes with position data will still only be added if present. * @param parentElement The parent element for the position element. * @param elementName The name for the position element to add. * @param value The value to add. * @return The element that was created, or null if no element was created. */ private Element addElement ( final Element parentElement , final String elementName , final Position position ) { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "addElement(Element,String,Position)" , new Object[] {parentElement, elementName, position} ); Element result = addElement(parentElement, elementName, position, false); CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "addElement(Element,String,Position)", result); return result; }
/** * Write an XML representation of the cue sheet. * @param cueSheet The CueSheet to serialize. * @param result The Result to write the XML representation to. * @throws TransformerException */ public void serializeCueSheet(final CueSheet cueSheet, final Result result) throws TransformerException { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeCueSheet(CueSheet,Result)" , new Object[] {cueSheet, result} ); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer identityTransformer = transformerFactory.newTransformer(); Source cueSheetSource = new DOMSource(serializeCueSheet(cueSheet)); identityTransformer.transform(cueSheetSource, result); CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeCueSheet(CueSheet,Result)"); }
/** * Write an XML representation of the cue sheet. * @param cueSheet The CueSheet to serialize. * @param outputStream The OutputStream to write the XML representation to. * @throws TransformerException */ public void serializeCueSheet(final CueSheet cueSheet, final OutputStream outputStream) throws TransformerException { CueSheetToXmlSerializer.logger.entering ( CueSheetToXmlSerializer.class.getCanonicalName() , "serializeCueSheet(CueSheet,OutputStream)" , new Object[] {cueSheet, outputStream} ); serializeCueSheet(cueSheet, new StreamResult(outputStream)); CueSheetToXmlSerializer.logger.exiting (CueSheetToXmlSerializer.class.getCanonicalName(), "serializeCueSheet(CueSheet,OutputStream)"); }