home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xml4j.jar / com / ibm / xml / dom / CharacterDataImpl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  2.2 KB  |  112 lines

  1. package com.ibm.xml.dom;
  2.  
  3. import org.w3c.dom.CharacterData;
  4. import org.w3c.dom.DOMException;
  5. import org.w3c.dom.NodeList;
  6.  
  7. public abstract class CharacterDataImpl extends NodeImpl implements CharacterData {
  8.    static final long serialVersionUID = 7931170150428474230L;
  9.    private static transient NodeList singletonNodeList;
  10.  
  11.    protected CharacterDataImpl(DocumentImpl var1, String var2) {
  12.       super(var1, (String)null, var2);
  13.    }
  14.  
  15.    public abstract String getNodeName();
  16.  
  17.    public NodeList getChildNodes() {
  18.       if (singletonNodeList == null) {
  19.          singletonNodeList = new 1();
  20.       }
  21.  
  22.       return singletonNodeList;
  23.    }
  24.  
  25.    public String getData() {
  26.       if (super.syncData) {
  27.          ((NodeImpl)this).synchronizeData();
  28.       }
  29.  
  30.       return super.value;
  31.    }
  32.  
  33.    public int getLength() {
  34.       if (super.syncData) {
  35.          ((NodeImpl)this).synchronizeData();
  36.       }
  37.  
  38.       return super.value.length();
  39.    }
  40.  
  41.    public void appendData(String var1) {
  42.       if (super.readOnly) {
  43.          throw new DOMExceptionImpl((short)7, (String)null);
  44.       } else {
  45.          if (super.syncData) {
  46.             ((NodeImpl)this).synchronizeData();
  47.          }
  48.  
  49.          super.value = super.value + var1;
  50.       }
  51.    }
  52.  
  53.    public void deleteData(int var1, int var2) throws DOMException {
  54.       if (super.readOnly) {
  55.          throw new DOMExceptionImpl((short)7, (String)null);
  56.       } else if (var2 < 0) {
  57.          throw new DOMExceptionImpl((short)1, (String)null);
  58.       } else {
  59.          if (super.syncData) {
  60.             ((NodeImpl)this).synchronizeData();
  61.          }
  62.  
  63.          int var3 = Math.max(super.value.length() - var2 - var1, 0);
  64.  
  65.          try {
  66.             super.value = super.value.substring(0, var1) + (var3 > 0 ? super.value.substring(var1 + var2, var1 + var2 + var3) : "");
  67.          } catch (StringIndexOutOfBoundsException var4) {
  68.             throw new DOMExceptionImpl((short)1, (String)null);
  69.          }
  70.       }
  71.    }
  72.  
  73.    public void insertData(int var1, String var2) throws DOMException {
  74.       if (super.readOnly) {
  75.          throw new DOMExceptionImpl((short)7, (String)null);
  76.       } else {
  77.          if (super.syncData) {
  78.             ((NodeImpl)this).synchronizeData();
  79.          }
  80.  
  81.          try {
  82.             super.value = (new StringBuffer(super.value)).insert(var1, var2).toString();
  83.          } catch (StringIndexOutOfBoundsException var3) {
  84.             throw new DOMExceptionImpl((short)1, (String)null);
  85.          }
  86.       }
  87.    }
  88.  
  89.    public void replaceData(int var1, int var2, String var3) throws DOMException {
  90.       this.deleteData(var1, var2);
  91.       this.insertData(var1, var3);
  92.    }
  93.  
  94.    public void setData(String var1) throws DOMException {
  95.       ((NodeImpl)this).setNodeValue(var1);
  96.    }
  97.  
  98.    public String substringData(int var1, int var2) throws DOMException {
  99.       if (super.syncData) {
  100.          ((NodeImpl)this).synchronizeData();
  101.       }
  102.  
  103.       int var3 = super.value.length();
  104.       if (var2 >= 0 && var1 >= 0 && var1 <= var3 - 1) {
  105.          int var4 = Math.min(var1 + var2, var3);
  106.          return super.value.substring(var1, var4);
  107.       } else {
  108.          throw new DOMExceptionImpl((short)1, (String)null);
  109.       }
  110.    }
  111. }
  112.