1 37 38 package com.sun.j2ee.blueprints.opc.mailer; 39 40 import java.io.*; 41 import java.util.*; 42 import java.net.*; 43 import javax.xml.parsers.*; 44 import org.w3c.dom.*; 45 import org.xml.sax.*; 46 import javax.xml.transform.*; 47 import javax.xml.transform.dom.*; 48 import javax.xml.transform.stream.*; 49 50 public class Mail { 51 52 private String address; 53 private String subject; 54 private String content; 55 56 private Mail() {} 57 58 public Mail(String address, String subject, String content) { 59 this.address = address; 60 this.subject = subject; 61 this.content = content; 62 } 63 64 66 public String getAddress() { 67 return address; 68 } 69 70 public String getSubject() { 71 return subject; 72 } 73 public String getContent() { 74 return content; 75 } 76 77 public String toXML() { 78 String mailXML = null; 79 try{ 80 81 DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); 83 docBuilderFactory.setNamespaceAware(true); 84 DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); 85 Document doc = docBuilder.newDocument(); 86 Element mailElem = doc.createElement("Mail"); 87 doc.appendChild(mailElem); 88 Element elem = doc.createElement("Subject"); 89 elem.appendChild(doc.createTextNode(subject)); 90 mailElem.appendChild(elem); 91 elem = doc.createElement("Address"); 92 elem.appendChild(doc.createTextNode(address)); 93 mailElem.appendChild(elem); 94 elem = doc.createElement("Content"); 95 elem.appendChild(doc.createTextNode(content)); 96 mailElem.appendChild(elem); 97 98 ByteArrayOutputStream baStream = new ByteArrayOutputStream(); 100 Result res = new StreamResult(baStream); 101 TransformerFactory transFactory = TransformerFactory.newInstance(); 102 Transformer transformer = transFactory.newTransformer(); 103 transformer.setOutputProperty(OutputKeys.METHOD, "xml"); 104 transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); 105 transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 106 transformer.transform(new DOMSource(doc), res); 107 mailXML = baStream.toString("UTF-8"); 108 109 } catch(Exception exe){ 110 System.err.println(exe); 111 } 112 return mailXML; 113 } 114 } 115 | Popular Tags |