package com.sun.j2ee.blueprints.creditcard.ejb;
import java.io.*;
import java.util.*;
import java.net.*;
import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;
import com.sun.j2ee.blueprints.xmldocuments.XMLDocumentUtils;
import com.sun.j2ee.blueprints.xmldocuments.XMLDocumentException;
public class CreditCard {
public static final String DTD_PUBLIC_ID = "-//Sun Microsystems, Inc. - J2EE Blueprints Group//DTD CreditCard 1.1//EN";
public static final String DTD_SYSTEM_ID = "/com/sun/j2ee/blueprints/creditcard/rsrc/schemas/CreditCard.dtd";
public static final String XML_CREDITCARD = "CreditCard";
public static final String XML_CARD_NUMBER = "CardNumber";
public static final String XML_EXPIRYDATE = "ExpiryDate";
public static final String XML_CARD_TYPE = "CardType";
private String cardNumber;
private String expiryDate;
private String cardType;
public CreditCard() {}
public CreditCard(String cardNumber, String expiryDate, String cardType) {
this.cardNumber = cardNumber;
this.expiryDate = expiryDate;
this.cardType = cardType;
return;
}
public String getCardNumber() {
return cardNumber;
}
public String getExpiryDate() {
return expiryDate;
}
public String getCardType() {
return cardType;
}
public void setCardNumber(String cardNumber) {
this.cardNumber = cardNumber;
return;
}
public void setExpiryDate(String expiryDate) {
this.expiryDate = expiryDate;
return;
}
public void setCardType(String cardType) {
this.cardType = cardType;
return;
}
public Node toDOM(Document document) {
Element root = document.createElement(XML_CREDITCARD);
XMLDocumentUtils.appendChild(document, root, XML_CARD_NUMBER, cardNumber);
XMLDocumentUtils.appendChild(document, root, XML_CARD_TYPE, cardType);
XMLDocumentUtils.appendChild(document, root, XML_EXPIRYDATE, expiryDate);
return root;
}
public static CreditCard fromDOM(Node node) throws XMLDocumentException {
Element element;
if (node.getNodeType() == Node.ELEMENT_NODE && (element = ((Element) node)).getTagName().equals(XML_CREDITCARD)) {
Element child;
CreditCard creditCard = new CreditCard();
child = XMLDocumentUtils.getFirstChild(element, XML_CARD_NUMBER, false);
creditCard.cardNumber = XMLDocumentUtils.getContentAsString(child, false);
child = XMLDocumentUtils.getNextSibling(child, XML_CARD_TYPE, false);
creditCard.cardType = XMLDocumentUtils.getContentAsString(child, false);
child = XMLDocumentUtils.getNextSibling(child, XML_EXPIRYDATE, false);
creditCard.expiryDate = XMLDocumentUtils.getContentAsString(child, false);
return creditCard;
}
throw new XMLDocumentException(XML_CREDITCARD + " element expected.");
}
}