home *** CD-ROM | disk | FTP | other *** search
/ Online Today 2000 January / Onto0100.iso / pc / JAVA / MSJAVX86.EXE / xmldso.cab / XML4IE3.cab / com / ms / xml / dso / SchemaNode.class (.txt) next >
Encoding:
Java Class File  |  1997-10-10  |  1.7 KB  |  62 lines

  1. package com.ms.xml.dso;
  2.  
  3. import com.ms.xml.om.Element;
  4. import com.ms.xml.om.ElementFactory;
  5. import com.ms.xml.util.Name;
  6. import java.util.Hashtable;
  7.  
  8. class SchemaNode {
  9.    // $FF: renamed from: e com.ms.xml.om.Element
  10.    Element field_0;
  11.    Hashtable rows;
  12.    Name name;
  13.    Element parent;
  14.    ElementFactory factory;
  15.  
  16.    SchemaNode(Element var1, ElementFactory var2, Name var3) {
  17.       this.parent = var1;
  18.       this.name = var3;
  19.       this.factory = var2;
  20.    }
  21.  
  22.    void createElement(boolean var1) {
  23.       if (var1) {
  24.          this.field_0 = this.factory.createElement(0, XMLRowsetProvider.nameROWSET);
  25.       } else {
  26.          this.field_0 = this.factory.createElement(0, XMLRowsetProvider.nameCOLUMN);
  27.       }
  28.  
  29.       this.parent.addChild(this.field_0, (Element)null);
  30.       this.field_0.setAttribute(XMLRowsetProvider.nameNAME, this.name.toString());
  31.    }
  32.  
  33.    void addRow(Name var1, SchemaNode var2) {
  34.       if (this.rows == null) {
  35.          this.rows = new Hashtable(13);
  36.       }
  37.  
  38.       this.rows.put(var1, var2);
  39.    }
  40.  
  41.    SchemaNode setRow(Name var1) {
  42.       if (this.field_0 == null) {
  43.          this.createElement(true);
  44.       } else if (this.field_0.getTagName() != XMLRowsetProvider.nameROWSET) {
  45.          this.parent.removeChild(this.field_0);
  46.          this.createElement(true);
  47.       }
  48.  
  49.       SchemaNode var2 = this.getRow(var1);
  50.       if (var2 == null) {
  51.          var2 = new SchemaNode(this.field_0, this.factory, var1);
  52.          this.addRow(var1, var2);
  53.       }
  54.  
  55.       return var2;
  56.    }
  57.  
  58.    SchemaNode getRow(Name var1) {
  59.       return this.rows == null ? null : (SchemaNode)this.rows.get(var1);
  60.    }
  61. }
  62.