home *** CD-ROM | disk | FTP | other *** search
/ Online Today 2000 January / Onto0100.iso / pc / JAVA / MSJAVX86.EXE / xmldso.cab / com / ms / xml / dso / SchemaNode.class (.txt) next >
Encoding:
Java Class File  |  1998-11-05  |  1.7 KB  |  61 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(this.parent, 0, XMLRowsetProvider.nameROWSET, (String)null);
  25.       } else {
  26.          this.field_0 = this.factory.createElement(this.parent, 0, XMLRowsetProvider.nameCOLUMN, (String)null);
  27.       }
  28.  
  29.       this.field_0.setAttribute(XMLRowsetProvider.nameNAME, this.name.toString());
  30.    }
  31.  
  32.    void addRow(Name var1, SchemaNode var2) {
  33.       if (this.rows == null) {
  34.          this.rows = new Hashtable(13);
  35.       }
  36.  
  37.       this.rows.put(var1, var2);
  38.    }
  39.  
  40.    SchemaNode setRow(Name var1) {
  41.       if (this.field_0 == null) {
  42.          this.createElement(true);
  43.       } else if (this.field_0.getTagName() != XMLRowsetProvider.nameROWSET) {
  44.          this.parent.removeChild(this.field_0);
  45.          this.createElement(true);
  46.       }
  47.  
  48.       SchemaNode var2 = this.getRow(var1);
  49.       if (var2 == null) {
  50.          var2 = new SchemaNode(this.field_0, this.factory, var1);
  51.          this.addRow(var1, var2);
  52.       }
  53.  
  54.       return var2;
  55.    }
  56.  
  57.    SchemaNode getRow(Name var1) {
  58.       return this.rows == null ? null : (SchemaNode)this.rows.get(var1);
  59.    }
  60. }
  61.