Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

StringOnlyImpl.java

Go to the documentation of this file.
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     // StringOnly Implementation
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 }

Generated on Fri Jun 18 19:51:26 2004 for Arcle Rambutan by doxygen 1.3.5