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 / xa / NamespaceModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  3.7 KB  |  110 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.app.BaseEdit;
  4. import com.extensibility.util.Debug;
  5. import com.extensibility.xa.undo.NamespaceNameUndoable;
  6. import com.extensibility.xa.undo.NamespaceNewRowUndoable;
  7. import com.extensibility.xa.undo.NamespaceURIUndoable;
  8. import com.extensibility.xml.BaseDeclaration;
  9. import com.extensibility.xml.NamespaceDeclaration;
  10. import com.extensibility.xml.ParserException;
  11.  
  12. public final class NamespaceModel extends DeclTableModel {
  13.    static final int COL_CNT = 4;
  14.    public static final int COL_PREFIX = 2;
  15.    public static final int COL_URI = 3;
  16.  
  17.    public NamespaceModel(SchemaDoc var1) {
  18.       super(var1, Class.forName("com.extensibility.xml.NamespaceDeclaration"));
  19.    }
  20.  
  21.    public int getColumnCount() {
  22.       return 4;
  23.    }
  24.  
  25.    public String getColumnName(int var1) {
  26.       return String.valueOf("namespace.column").concat(String.valueOf(var1));
  27.    }
  28.  
  29.    public Class getColumnClass(int var1) {
  30.       switch (var1) {
  31.          case 2:
  32.             return Class.forName("java.lang.String");
  33.          case 3:
  34.             return Class.forName("java.lang.String");
  35.          default:
  36.             return super.getColumnClass(var1);
  37.       }
  38.    }
  39.  
  40.    public Object getValueAt(int var1, int var2) {
  41.       NamespaceDeclaration var3 = this.getNamespace(var1);
  42.       switch (var2) {
  43.          case 2:
  44.             return ((DeclTableModel)this).isNewRow(var1) ? "" : ((BaseDeclaration)var3).getName();
  45.          case 3:
  46.             return ((DeclTableModel)this).isNewRow(var1) ? "" : (var3.getNamespace() == null ? "" : var3.getNamespace());
  47.          default:
  48.             return super.getValueAt(var1, var2);
  49.       }
  50.    }
  51.  
  52.    public NamespaceDeclaration getNamespace(int var1) {
  53.       return (NamespaceDeclaration)((DeclTableModel)this).getDeclaration(var1);
  54.    }
  55.  
  56.    ParserException validateCell(String var1, int var2, int var3) {
  57.       if (var1.equals(this.getValueAt(var2, var3))) {
  58.          return null;
  59.       } else {
  60.          switch (var3) {
  61.             case 2:
  62.                return ((DeclTableModel)this).validateName(var1, Class.forName("com.extensibility.xml.NamespaceDeclaration"), this.getNamespace(var2), true);
  63.             default:
  64.                return null;
  65.          }
  66.       }
  67.    }
  68.  
  69.    public void setValueAt(Object var1, int var2, int var3) {
  70.       if (!var1.equals(this.getValueAt(var2, var3))) {
  71.          NamespaceDeclaration var4 = this.getNamespace(var2);
  72.          if (((DeclTableModel)this).isNewRow(var2)) {
  73.             String var5 = var3 == 2 ? (String)var1 : ((DeclTableModel)this).getUniqueDeclName((String)null);
  74.             NamespaceNewRowUndoable var6 = new NamespaceNewRowUndoable(this, var2, var5);
  75.             ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var6);
  76.             ((BaseEdit)var6).doCommand();
  77.             super.doc.touch(super.doc.getFocusedURI(true));
  78.             if (var3 == 2) {
  79.                return;
  80.             }
  81.          } else {
  82.             super.doc.touch(var4);
  83.          }
  84.  
  85.          switch (var3) {
  86.             case 2:
  87.                NamespaceNameUndoable var7 = new NamespaceNameUndoable(this, var4, var1);
  88.                ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var7);
  89.                ((BaseEdit)var7).doCommand();
  90.                break;
  91.             case 3:
  92.                NamespaceURIUndoable var8 = new NamespaceURIUndoable(this, var4, var1);
  93.                if (((String)var1).length() != 0 || this.getValueAt(var2, var3) != null) {
  94.                   ((DeclTableModel)this).getSchemaDoc().getUndoManager().addEdit(var8);
  95.                }
  96.  
  97.                ((BaseEdit)var8).doCommand();
  98.                break;
  99.             default:
  100.                Debug.assert(false, String.valueOf("Unexpected column number:").concat(String.valueOf(var3)));
  101.          }
  102.  
  103.       }
  104.    }
  105.  
  106.    public BaseDeclaration createDeclaration(String var1) {
  107.       return new NamespaceDeclaration(var1, (String)null);
  108.    }
  109. }
  110.