00001
00065 package com.arcle.rmt.j2se.model.domimpl.rqml;
00066
00067 import org.w3c.dom.Element;
00068 import org.w3c.dom.Node;
00069 import org.w3c.dom.Document;
00070 import org.w3c.dom.DOMException;
00071
00072 import com.arcle.rmt.rqml.*;
00073 import com.arcle.rmt.j2se.model.domimpl.*;
00074
00081 public abstract class StringOnlyImpl extends RQMLSecondClassImpl
00082 implements StringOnly {
00083
00090 public StringOnlyImpl(Element elem, RQMLSecondClassFactory fac) {
00091 super(elem, fac);
00092 }
00093
00094
00095
00096
00097 public String getString() {
00098 Element elem = getElement();
00099 elem.normalize();
00100 Node data = elem.getFirstChild();
00101 String str = null;
00102 if (data != null && data.getNodeType() == Element.CDATA_SECTION_NODE) {
00103 str = data.getNodeValue();
00104 }
00105 return str;
00106 }
00107
00108 public void setString(String PCDATA) throws DOMException {
00109 Element elem = getElement();
00110 elem.normalize();
00111 Node data = elem.getFirstChild();
00112 if (data == null || data.getNodeType() != Element.CDATA_SECTION_NODE) {
00113 Document doc = elem.getOwnerDocument();
00114 Node newData = doc.createCDATASection(PCDATA);
00115 if (data == null) {
00116 elem.appendChild(newData);
00117 } else {
00118 elem.replaceChild(newData, data);
00119 }
00120 } else {
00121 data.setNodeValue(PCDATA);
00122 }
00123 setChanged();
00124 }
00125 }