home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / MSSFlavor.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  5.1 KB  |  147 lines

  1. package com.extensibility.xml;
  2.  
  3. import com.extensibility.xml.dt.DataTypeIntf;
  4. import java.io.IOException;
  5. import java.util.Vector;
  6.  
  7. class MSSFlavor extends XDRFlavor implements ExtraMetaDataUIIntf {
  8.    static String NAME = "mss";
  9.    Vector elemDefs;
  10.    Vector elemRefs;
  11.    Vector attrDefs;
  12.    static String[] NAMESPACES = new String[]{"sql", "urn:schemas-microsoft-com:xml-sql"};
  13.  
  14.    MSSFlavor(SchemaIntf var1) {
  15.       super(var1);
  16.       this.createMetaInfo();
  17.    }
  18.  
  19.    public String getFlavorName() {
  20.       return NAME;
  21.    }
  22.  
  23.    public String getExtensionsName() {
  24.       return "Shilo";
  25.    }
  26.  
  27.    protected void createExtensionNamespaces() {
  28.       String[] var1 = this.getNamespaces();
  29.       int var2 = 0;
  30.  
  31.       while(var2 < var1.length) {
  32.          String var3 = var1[var2++];
  33.          String var4 = var1[var2++];
  34.          if (super.schema.getNamedDeclaration(var3, Class.forName("com.extensibility.xml.NamespaceDeclaration")) == null) {
  35.             NamespaceDeclaration var5 = new NamespaceDeclaration(var3, var4);
  36.             super.schema.insertDeclaration(var5, (BaseDeclaration)null);
  37.          }
  38.       }
  39.  
  40.    }
  41.  
  42.    public void parse(URI var1, URI var2, int var3, Object var4) throws IOException {
  43.       super.parse(var1, var2, var3, var4);
  44.       NamespaceDeclaration var5 = super.schema.getNamedNamespace(NAMESPACES[0]);
  45.       if (var5 != null) {
  46.          super.schema.removeDeclaration(var5);
  47.       }
  48.  
  49.    }
  50.  
  51.    protected void createMetaInfo() {
  52.       this.elemDefs = new Vector();
  53.       this.elemRefs = new Vector();
  54.       this.attrDefs = new Vector();
  55.       this.elemDefs.addElement(new MetaPropInfo(this, "relation", "sql:relation", Class.forName("java.lang.String"), 0.1, 80));
  56.       this.elemDefs.addElement(new MetaPropInfo(this, "overflow", "sql:overflow", Class.forName("java.lang.String"), 0.1, 80));
  57.       this.elemDefs.addElement(new MetaPropInfo(this, "id-prefix", "sql:id-prefix", Class.forName("java.lang.String"), 0.1, 80));
  58.       this.elemRefs.addElement(new MetaPropInfo(this, "map-field", "sql:map-field", Class.forName("java.lang.String"), 0.1, 80));
  59.       this.elemRefs.addElement(new MetaPropInfo(this, "relation", "sql:relation", Class.forName("java.lang.String"), 0.1, 80));
  60.       this.elemRefs.addElement(new MetaPropInfo(this, "field", "sql:field", Class.forName("java.lang.String"), 0.1, 80));
  61.       this.elemRefs.addElement(new MetaPropInfo(this, "overflow", "sql:overflow", Class.forName("java.lang.String"), 0.1, 80));
  62.       this.elemRefs.addElement(new MetaPropInfo(this, "limit-field", "sql:limit-field", Class.forName("java.lang.String"), 0.1, 80));
  63.       this.elemRefs.addElement(new MetaPropInfo(this, "limit-value", "sql:limit-value", Class.forName("java.lang.String"), 0.1, 80));
  64.       this.elemRefs.addElement(new MetaPropInfo(this, "datatype", "sql:datatype", Class.forName("java.lang.String"), 0.1, 80));
  65.       this.elemRefs.addElement(new MetaPropInfo(this, "use-cdata", "sql:use-cdata", Class.forName("java.lang.String"), 0.1, 80));
  66.       this.elemRefs.addElement(new MetaPropInfo(this, "url-encode", "sql:url-encode", Class.forName("java.lang.String"), 0.1, 80));
  67.       this.elemRefs.addElement(new MetaPropInfo(this, "relationship", "sql:relationship", Class.forName("java.lang.String"), 0.1, 80, false, true));
  68.       this.attrDefs.addElement(new MetaPropInfo(this, "map-field", "sql:map-field", Class.forName("java.lang.String"), 0.1, 80));
  69.       this.attrDefs.addElement(new MetaPropInfo(this, "relation", "sql:relation", Class.forName("java.lang.String"), 0.1, 80));
  70.       this.attrDefs.addElement(new MetaPropInfo(this, "field", "sql:field", Class.forName("java.lang.String"), 0.1, 80));
  71.       this.attrDefs.addElement(new MetaPropInfo(this, "limit-field", "sql:limit-field", Class.forName("java.lang.String"), 0.1, 80));
  72.       this.attrDefs.addElement(new MetaPropInfo(this, "limit-value", "sql:limit-value", Class.forName("java.lang.String"), 0.1, 80));
  73.       this.attrDefs.addElement(new MetaPropInfo(this, "id-prefix", "sql:id-prefix", Class.forName("java.lang.String"), 0.1, 80));
  74.       this.attrDefs.addElement(new MetaPropInfo(this, "datatype", "sql:datatype", Class.forName("java.lang.String"), 0.1, 80));
  75.       this.attrDefs.addElement(new MetaPropInfo(this, "use-cdata", "sql:use-cdata", Class.forName("java.lang.String"), 0.1, 80));
  76.       this.attrDefs.addElement(new MetaPropInfo(this, "url-encode", "sql:url-encode", Class.forName("java.lang.String"), 0.1, 80));
  77.       this.attrDefs.addElement(new MetaPropInfo(this, "relationship", "sql:relationship", Class.forName("java.lang.String"), 0.1, 80, false, true));
  78.    }
  79.  
  80.    public int getExtraColumnCount(int var1) {
  81.       return this.getCount(var1);
  82.    }
  83.  
  84.    public String getColumnName(int var1, int var2) {
  85.       return this.getInfo(var1, var2).colName;
  86.    }
  87.  
  88.    public Class getColumnClass(int var1, int var2) {
  89.       return this.getInfo(var1, var2).colClass;
  90.    }
  91.  
  92.    public int getInitialColumnWidth(int var1, int var2) {
  93.       return this.getInfo(var1, var2).colInitialWidth;
  94.    }
  95.  
  96.    public double getColumnWeight(int var1, int var2) {
  97.       return this.getInfo(var1, var2).colWeight;
  98.    }
  99.  
  100.    public String getColumnMetaProp(int var1, int var2) {
  101.       return this.getInfo(var1, var2).metaprop;
  102.    }
  103.  
  104.    public boolean isColumnMetaPropList(int var1, int var2) {
  105.       return this.getInfo(var1, var2).isListOfSubElements;
  106.    }
  107.  
  108.    public boolean isColumnMetaPropAttrs(int var1, int var2) {
  109.       return this.getInfo(var1, var2).isSubElementWithAttrs;
  110.    }
  111.  
  112.    public DataTypeIntf getDataType(int var1, int var2) {
  113.       return null;
  114.    }
  115.  
  116.    public String getDefaultValue(int var1, int var2) {
  117.       return null;
  118.    }
  119.  
  120.    public String[] getNamespaces() {
  121.       return NAMESPACES;
  122.    }
  123.  
  124.    protected int getCount(int var1) {
  125.       Vector var2 = this.getInfo(var1);
  126.       return var2 == null ? 0 : var2.size();
  127.    }
  128.  
  129.    protected Vector getInfo(int var1) {
  130.       switch (var1) {
  131.          case 1:
  132.             return this.elemDefs;
  133.          case 2:
  134.             return this.elemRefs;
  135.          case 3:
  136.          case 4:
  137.             return this.attrDefs;
  138.          default:
  139.             return null;
  140.       }
  141.    }
  142.  
  143.    protected MetaPropInfo getInfo(int var1, int var2) {
  144.       return (MetaPropInfo)this.getInfo(var1).elementAt(var2);
  145.    }
  146. }
  147.