Cocoon API: Class Monitor

org.apache.cocoon.framework
Class Monitor

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--org.apache.cocoon.framework.Monitor
All Implemented Interfaces:
java.lang.Cloneable, java.util.Map, java.io.Serializable

public class Monitor
extends java.util.Hashtable

This class watches over the changes of indicated resources.

Version:
$Revision: 1.8 $ $Date: 2000/04/14 17:12:57 $
Author:
Stefano Mazzocchi
See Also:
Serialized Form

Inner classes inherited from class java.util.Map
java.util.Map.Entry
 
Constructor Summary
Monitor(int capacity)
          Create this class with the given starting capacity.
 
Method Summary
 boolean hasChanged(java.lang.Object context)
          Queries the monitor for changes.
 void invalidate(java.lang.Object context)
          Invalidates the given context.
static long timestamp(java.lang.Object resource)
          Create a timestamp indicating the last modified time of the given resource.
 void watch(java.lang.Object key, java.lang.Object resource)
          Tells the monitor to watch the given resource, timestamps it and associate it to the given key.
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Monitor

public Monitor(int capacity)
Create this class with the given starting capacity.
Method Detail

watch

public void watch(java.lang.Object key,
                  java.lang.Object resource)
Tells the monitor to watch the given resource, timestamps it and associate it to the given key.

hasChanged

public boolean hasChanged(java.lang.Object context)
Queries the monitor for changes. For maximum reliability, this method is synchronous, but less reliable for faster asynchronous versions could be implemented. Returns true if the resource associated to the given key has changed since the last call to watch. WARNING: due to a stupid bug in "FileURLConnection", the class that implements the "file:" protocol for the java.net.URL framework, the getLastModified() method always returns 0. For this reason, the use of the File resource is strongly suggested over the "file:" type URL. NOTE: this may not be (and should not be) the case in other virtual machine implementations or if we rewrite the URL handler ourselves (which I don't care to do at this point).

invalidate

public void invalidate(java.lang.Object context)
Invalidates the given context.

timestamp

public static long timestamp(java.lang.Object resource)
Create a timestamp indicating the last modified time of the given resource.


Copyright © 1999-2001 Apache Software Foundation. All Rights Reserved.