import java.io.*; import Statistics; import PersonName; import org.w3c.dom.*; public class Player implements Serializable { protected PersonName _name; protected Statistics _stats; protected int _number; protected String _highSchool; protected double _dGradePointAverage; public Player() { // Negative GPA indicates that it's unknown _dGradePointAverage = -1.0; } /** * Encode this Player as an XML object, leaving out grade point average. * @param doc org.w3c.dom.Document */ public DocumentFragment getAsDOM(Document doc) { DocumentFragment df = doc.createDocumentFragment(); // Create the entire document for the Bean in code Element eJavaBean = doc.createElement("JavaBean"); eJavaBean.setAttribute("CLASS", "Player"); Comment comment = doc.createComment("XML for this Player created by Player.getAsDOM()"); eJavaBean.appendChild(comment); Element eProperties = doc.createElement("Properties"); eJavaBean.appendChild(eProperties); Element eProperty; eProperty = doc.createElement("Property"); eProperty.setAttribute("NAME", "highSchool"); eProperty.appendChild(doc.createTextNode(getHighSchool())); eProperties.appendChild(eProperty); eProperty = doc.createElement("Property"); eProperty.setAttribute("NAME", "number"); eProperty.appendChild(doc.createTextNode(Integer.toString(getNumber()))); eProperties.appendChild(eProperty); eProperty = doc.createElement("Property"); eProperty.setAttribute("NAME", "name"); PersonName pnName = getName(); if (pnName != null) { DocumentFragment dfName = pnName.getAsDOM(doc); eProperty.appendChild(dfName); eProperties.appendChild(eProperty); } eProperty = doc.createElement("Property"); eProperty.setAttribute("NAME", "stats"); try { DocumentFragment dfStats = com.javaworld.JavaBeans.XMLBeans.XMLBeanWriter.getAsDOM(doc, (Object)(getStats())); eProperty.appendChild(dfStats); eProperties.appendChild(eProperty); } catch (Exception ee) { ; // If an exception occurs, the property is simply ignored } df.appendChild(eJavaBean); return df; } /** * This method was created in VisualAge. * @return float */ public double getGradePointAverage() { return _dGradePointAverage; } public String getHighSchool() { return _highSchool; } public PersonName getName() { return _name; } public int getNumber() { return _number; } public Statistics getStats() { return _stats; } public void print() { System.out.println("Player\n-----"); System.out.print("Name: "); _name.print(); System.out.println(""); System.out.println("High School:" + _highSchool); System.out.println("Number: " + _number); System.out.println("Statistics:"); _stats.print(); System.out.println(""); } /** * This method was created in VisualAge. * @param fGradePointAverage_ float */ public void setGradePointAverage(double dGradePointAverage_) { _dGradePointAverage = dGradePointAverage_; } public void setHighSchool(String highSchool_) { _highSchool = highSchool_; } public void setName(PersonName name_) { _name = name_; } public void setNumber(int number_) { _number = number_; } public void setStats(Statistics stats_) { _stats = stats_; } }