home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / APCHSSL2.ZIP / OS2HTTPD / jserv / org / openxml / XMLBookmarks.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-05-16  |  2.0 KB  |  101 lines

  1. package org.openxml;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5. import org.w3c.dom.Document;
  6. import org.w3c.dom.Element;
  7.  
  8. public final class XMLBookmarks {
  9.    private static Hashtable _allBookmarks;
  10.    private Hashtable _bookmarks;
  11.    private Document _document;
  12.  
  13.    XMLBookmarks(Document var1) {
  14.       if (var1 == null) {
  15.          throw new NullPointerException("Argument 'document' is null.");
  16.       } else {
  17.          this._document = var1;
  18.          this._bookmarks = new Hashtable();
  19.       }
  20.    }
  21.  
  22.    public synchronized Element get(String var1) {
  23.       Element var2 = (Element)this._bookmarks.get(var1);
  24.       if (var2 != null && var2.getOwnerDocument() != this._document) {
  25.          this._bookmarks.remove(var1);
  26.          var2 = null;
  27.       }
  28.  
  29.       return var2;
  30.    }
  31.  
  32.    public Document getDocument() {
  33.       return this._document;
  34.    }
  35.  
  36.    public synchronized String[] list() {
  37.       boolean var3 = false;
  38.       String[] var1 = new String[this._bookmarks.size()];
  39.       Enumeration var2 = this._bookmarks.keys();
  40.  
  41.       for(int var4 = 0; var2.hasMoreElements(); ++var4) {
  42.          var1[var4] = (String)var2.nextElement();
  43.       }
  44.  
  45.       return var1;
  46.    }
  47.  
  48.    // $FF: renamed from: of (org.w3c.dom.Document) org.openxml.XMLBookmarks
  49.    public static XMLBookmarks method_0(Document var0) {
  50.       XMLBookmarks var1;
  51.       if (_allBookmarks == null) {
  52.          _allBookmarks = new Hashtable();
  53.          var1 = null;
  54.       } else {
  55.          var1 = (XMLBookmarks)_allBookmarks.get(var0);
  56.       }
  57.  
  58.       if (var1 == null) {
  59.          var1 = new XMLBookmarks(var0);
  60.          _allBookmarks.put(var0, var1);
  61.       }
  62.  
  63.       return var1;
  64.    }
  65.  
  66.    public synchronized void set(String var1, Element var2) {
  67.       synchronized(var2){}
  68.  
  69.       try {
  70.          if (var2.getOwnerDocument() != this._document) {
  71.             throw new IllegalArgumentException("Element and bookmarks do not belong to same document.");
  72.          }
  73.  
  74.          this._bookmarks.put(var1, var2);
  75.       } catch (Throwable var5) {
  76.          throw var5;
  77.       }
  78.  
  79.    }
  80.  
  81.    public synchronized void setUnique(String var1, Element var2) throws Exception {
  82.       synchronized(var2){}
  83.  
  84.       try {
  85.          if (var2.getOwnerDocument() != this._document) {
  86.             throw new IllegalArgumentException("Element and bookmarks do not belong to same document.");
  87.          }
  88.  
  89.          Object var3 = this._bookmarks.get(var1);
  90.          if (var3 != null && var3 != var2) {
  91.             throw new Exception("Identifier not unique in this document.");
  92.          }
  93.  
  94.          this._bookmarks.put(var1, var2);
  95.       } catch (Throwable var6) {
  96.          throw var6;
  97.       }
  98.  
  99.    }
  100. }
  101.