home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / browser / documentmanager.java < prev    next >
Text File  |  1995-08-11  |  2KB  |  73 lines

  1. /*
  2.  * @(#)DocumentManager.java    1.22 95/03/14 Jonathan Payne
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. package browser;
  21.  
  22. import java.util.*;
  23. import net.www.html.URL;
  24. import net.www.html.PostURL;
  25.  
  26. /**
  27.  * Class DocumentManager manages multiple html documents.  It
  28.  * maintains a list of visited documents, and fetches ones which are
  29.  * not currently known.  Instances of DocumentManager are created
  30.  * by WRWindow to manage the documents of that window.  Documents are
  31.  * fetched in the background, and multiple documents may be fetched at
  32.  * the same time.<p>
  33.  * This class was never completed.
  34.  *
  35.  * @version 1.22, 14 Mar 1995
  36.  * @author Jonathan Payne
  37.  */
  38. public
  39. class DocumentManager {
  40.     /** Document cache, indexed by URL. */
  41.     static Hashtable    documentCache = new Hashtable();
  42.  
  43.     /** Window we're managing documents for. */
  44.     WRWindow    wrWindow;
  45.  
  46.     DocumentManager(WRWindow w) {
  47.     wrWindow = w;
  48.     }
  49.  
  50.     static public void unCacheDocument(URL url) {
  51.     documentCache.remove(url);
  52.     
  53.     }
  54.  
  55.     static public void cacheDocument(DocumentInfo info) {
  56.     URL url = info.url;
  57.  
  58.     if (url.canCache() && info.canCache() && info.doc != null) {
  59.         documentCache.put(url, info.doc);
  60.     }
  61.     }
  62.  
  63.     DocumentInfo newDocument(URL url) {
  64.     DocumentRef    docRef = null;
  65.     DocumentInfo    info;
  66.  
  67.     if (url.canCache())
  68.         docRef = (DocumentRef) documentCache.get(url);
  69.     
  70.     return new DocumentInfo(docRef, url);
  71.     }
  72. }
  73.