001: package org.objectweb.celtix.bus.bindings.xml;
002:
003: import org.w3c.dom.*;
004: import org.objectweb.celtix.helpers.XMLUtils;
005:
006: public class XMLFault {
007:
008: private Node faultRoot;
009:
010: // private QNname faultCode;
011: private String faultString;
012: private Node faultDetail;
013: private Node detailRoot;
014:
015: private XMLUtils xmlUtils = new XMLUtils();
016:
017: // public void setFaultCode(QName code) {
018: // assert faultRoot != null;
019: // this.faultRoot.appendChild(xmlUtils.createElementNS(this.faultCode, code));
020: // this.faultCode = code;
021: // }
022:
023: // public QName getFaultCode() {
024: // return this.faultDetail;
025: // }
026:
027: public void setFaultString(String str) {
028: this .faultString = str;
029: }
030:
031: public void addFaultString(String str) {
032: assert faultRoot != null;
033:
034: Text text = xmlUtils.createTextNode(this .faultRoot, str);
035: Node faultStringNode = xmlUtils.createElementNS(this .faultRoot,
036: XMLConstants.XML_FAULT_STRING);
037: faultStringNode.appendChild(text);
038: this .faultRoot.appendChild(faultStringNode);
039:
040: this .faultString = str;
041: }
042:
043: public void setFaultDetail(Node detail) {
044: this .detailRoot = detail;
045:
046: NodeList list = detail.getChildNodes();
047: for (int i = 0; i < list.getLength(); i++) {
048: Node entry = list.item(i);
049: if (entry.getNodeType() != Node.ELEMENT_NODE) {
050: continue;
051: }
052: this .faultDetail = detail;
053: }
054: }
055:
056: public void appendFaultDetail(Node detail) {
057: assert faultRoot != null;
058: assert detailRoot != null;
059:
060: this .detailRoot.appendChild(detail);
061: this .faultDetail = detail;
062: }
063:
064: public Node addFaultDetail() {
065: assert faultRoot != null;
066:
067: this .detailRoot = xmlUtils.createElementNS(this .faultRoot,
068: XMLConstants.XML_FAULT_DETAIL);
069: this .faultRoot.appendChild(this .detailRoot);
070: return this .detailRoot;
071: }
072:
073: public String getFaultString() {
074: return this .faultString;
075: }
076:
077: public Node getFaultDetail() {
078: return this .faultDetail;
079: }
080:
081: public Node getFaultDetailRoot() {
082: return this .detailRoot;
083: }
084:
085: public Node getFaultRoot() {
086: return this .faultRoot;
087: }
088:
089: protected void setFaultRoot(Node root) {
090: this .faultRoot = root;
091: }
092:
093: public void removeChild(Node node) {
094: this .faultRoot.removeChild(node);
095: }
096:
097: public boolean hasChildNodes() {
098: return this.faultRoot.hasChildNodes();
099: }
100: }
|