1 17 18 19 20 package embedding.model; 21 22 import java.util.Iterator ; 24 import java.io.IOException ; 25 26 import org.xml.sax.InputSource ; 28 import org.xml.sax.SAXException ; 29 30 import embedding.tools.AbstractObjectReader; 31 32 36 public class ProjectTeamXMLReader extends AbstractObjectReader { 37 38 41 public void parse(InputSource input) throws IOException , SAXException { 42 if (input instanceof ProjectTeamInputSource) { 43 parse(((ProjectTeamInputSource)input).getProjectTeam()); 44 } else { 45 throw new SAXException ("Unsupported InputSource specified. " 46 + "Must be a ProjectTeamInputSource"); 47 } 48 } 49 50 51 56 public void parse(ProjectTeam projectTeam) throws SAXException { 57 if (projectTeam == null) { 58 throw new NullPointerException ("Parameter projectTeam must not be null"); 59 } 60 if (handler == null) { 61 throw new IllegalStateException ("ContentHandler not set"); 62 } 63 64 handler.startDocument(); 66 67 generateFor(projectTeam); 69 70 handler.endDocument(); 72 } 73 74 75 80 protected void generateFor(ProjectTeam projectTeam) throws SAXException { 81 if (projectTeam == null) { 82 throw new NullPointerException ("Parameter projectTeam must not be null"); 83 } 84 if (handler == null) { 85 throw new IllegalStateException ("ContentHandler not set"); 86 } 87 88 handler.startElement("projectteam"); 89 handler.element("projectname", projectTeam.getProjectName()); 90 Iterator i = projectTeam.getMembers().iterator(); 91 while (i.hasNext()) { 92 ProjectMember member = (ProjectMember)i.next(); 93 generateFor(member); 94 } 95 handler.endElement("projectteam"); 96 } 97 98 103 protected void generateFor(ProjectMember projectMember) throws SAXException { 104 if (projectMember == null) { 105 throw new NullPointerException ("Parameter projectMember must not be null"); 106 } 107 if (handler == null) { 108 throw new IllegalStateException ("ContentHandler not set"); 109 } 110 111 handler.startElement("member"); 112 handler.element("name", projectMember.getName()); 113 handler.element("function", projectMember.getFunction()); 114 handler.element("email", projectMember.getEmail()); 115 handler.endElement("member"); 116 } 117 118 } 119 | Popular Tags |