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 / DeferredEntityReferenceImpl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  1.7 KB  |  64 lines

  1. package com.ibm.xml.dom;
  2.  
  3. import org.w3c.dom.DocumentType;
  4. import org.w3c.dom.Entity;
  5. import org.w3c.dom.NamedNodeMap;
  6. import org.w3c.dom.Node;
  7.  
  8. public class DeferredEntityReferenceImpl extends EntityReferenceImpl implements DeferredNode {
  9.    static final long serialVersionUID = 390319091370032223L;
  10.    protected transient int fNodeIndex;
  11.  
  12.    DeferredEntityReferenceImpl(DeferredDocumentImpl var1, int var2) {
  13.       super(var1, (String)null);
  14.       this.fNodeIndex = var2;
  15.       super.syncData = true;
  16.       super.syncChildren = true;
  17.    }
  18.  
  19.    public int getNodeIndex() {
  20.       return this.fNodeIndex;
  21.    }
  22.  
  23.    protected void synchronizeData() {
  24.       super.syncData = false;
  25.       DeferredDocumentImpl var1 = (DeferredDocumentImpl)super.ownerDocument;
  26.       super.name = var1.getNodeNameString(this.fNodeIndex);
  27.    }
  28.  
  29.    protected void synchronizeChildren() {
  30.       super.syncChildren = false;
  31.       DocumentType var1 = super.ownerDocument.getDoctype();
  32.       boolean var2 = false;
  33.       if (var1 != null) {
  34.          NamedNodeMap var3 = var1.getEntities();
  35.          if (var3 != null) {
  36.             Entity var4 = (Entity)var3.getNamedItem(((NodeImpl)this).getNodeName());
  37.             if (var4 != null) {
  38.                var2 = true;
  39.                super.readOnly = false;
  40.  
  41.                for(Node var5 = var4.getFirstChild(); var5 != null; var5 = var5.getNextSibling()) {
  42.                   ((NodeImpl)this).appendChild(var5.cloneNode(true));
  43.                }
  44.  
  45.                super.readOnly = true;
  46.             }
  47.          }
  48.       }
  49.  
  50.       if (!var2) {
  51.          DeferredDocumentImpl var6 = (DeferredDocumentImpl)super.ownerDocument;
  52.          int var7 = var6.getFirstChild(this.fNodeIndex);
  53.  
  54.          for(super.readOnly = false; var7 != -1; var7 = var6.getNextSibling(var7)) {
  55.             DeferredNode var8 = var6.getNodeObject(var7);
  56.             ((NodeImpl)this).appendChild(var8);
  57.          }
  58.  
  59.          super.readOnly = true;
  60.       }
  61.  
  62.    }
  63. }
  64.