wt.team
Class TeamCache

java.lang.Object
  extended byjava.rmi.server.RemoteObject
      extended byjava.rmi.server.RemoteServer
          extended bywt.util.RMIServer
              extended bywt.cache.CacheManager
                  extended bywt.team.TeamCache
All Implemented Interfaces:
CacheServer, Remote, Serializable, Unreferenced

public class TeamCache
extends CacheManager

This class implements a Team cache service. It follows the 2-level cache paradigm. Creation and updates to Teams must be communicated to the cache by the Services manager.

See Also:
Serialized Form

Field Summary
private static int CACHESIZE
           
private static Object lock
           
private static Vector rNames
           
private static TeamCache teamCache
           
private static boolean VERBOSE
           
private static String versionID
           
 
Fields inherited from class wt.cache.CacheManager
MASTER
 
Fields inherited from class wt.util.RMIServer
csf, ssf
 
Fields inherited from class java.rmi.server.RemoteServer
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
TeamCache()
          Do not directly invoke this constructor! Use getTeamCache instead.
 
Method Summary
protected  void clear()
           
 int getDefaultSize()
          Get desired size of this cache.
 Enumeration getEntries()
          Return a sorted enumeration of all TeamReferences
static TeamCache getTeamCache()
          Contruct a new Team cache.
protected  void populateCache()
           
 void Print()
           
 void putEntry(Object key, Object value)
          Overrides CacheManager.putEntry to do nothing so that no entries are added to the wt.util.Cache object contained in CacheManager.
protected  void removeEntry(Object target)
          Simply clear local cache when signalled.
 void reset()
          Method called when connection to master cache is broken and recovered indicating that a notification from another team cache might have been missed.
 
Methods inherited from class wt.cache.CacheManager
checkAccess, get, getDefaultName, getEntry, isCacheHost, overflow, ping, put, putEntry, reference, registerSlave, remove, remove, removeEntry, unreferenced, update, updateEntry, updateEntry
 
Methods inherited from class wt.util.RMIServer
clone, exportObject, exportObject, exportObject, getClientSocketFactory, getPort, getServerSocketFactory, getStub, isHostInList, isLocalHost, setPort, writeReplace
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

versionID

private static final String versionID
See Also:
Constant Field Values

lock

private static Object lock

rNames

private static Vector rNames

teamCache

private static TeamCache teamCache

VERBOSE

private static final boolean VERBOSE

CACHESIZE

private static int CACHESIZE
Constructor Detail

TeamCache

public TeamCache()
          throws RemoteException
Do not directly invoke this constructor! Use getTeamCache instead. The constructor is public so that the ServerManager can create an instance of this class for use as the master cache.

However, since the master cache is only being used to signal slave caches, we don't want to construct any of the internal cache objects.

Method Detail

getTeamCache

public static TeamCache getTeamCache()
Contruct a new Team cache.


removeEntry

protected void removeEntry(Object target)
Simply clear local cache when signalled. Will be repopulated on subsequent requests

Overrides:
removeEntry in class CacheManager
Parameters:
target - the key object (null = clear entire cache)

getEntries

public Enumeration getEntries()
                       throws WTException
Return a sorted enumeration of all TeamReferences

Throws:
WTException

putEntry

public void putEntry(Object key,
                     Object value)
Overrides CacheManager.putEntry to do nothing so that no entries are added to the wt.util.Cache object contained in CacheManager.

Overrides:
putEntry in class CacheManager
Parameters:
key - the key object
value - the value object

getDefaultSize

public int getDefaultSize()
Description copied from class: CacheManager
Get desired size of this cache. This method attemps to find a size property called wt.cache.size.CacheName where cacheName is the name of this cache. Subclasses can override this method to control cache size in some other way. If no property is found, the default size is 100.

Supported API: true

Overrides:
getDefaultSize in class CacheManager

populateCache

protected void populateCache()
                      throws WTException
Throws:
WTException

clear

protected void clear()

reset

public void reset()
Method called when connection to master cache is broken and recovered indicating that a notification from another team cache might have been missed. The current cache is cleared and reinitialized later.

Overrides:
reset in class CacheManager

Print

public void Print()