sisc.modules.hashtable
Class WeakHashtable

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.modules.hashtable.HashtableBase
                  extended by sisc.modules.hashtable.Hashtable
                      extended by sisc.modules.hashtable.WeakHashtable
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version

public class WeakHashtable
extends Hashtable

See Also:
Serialized Form

Field Summary
 
Fields inherited from class sisc.data.Expression
annotations, EMPTYSET
 
Fields inherited from class sisc.util.Util
BACKQUOTE, BEGIN, bundles, caseSensitive, EMPTYLIST, EMPTYVEC, EOF, ERRORK, EVAL, EXPSC, EXPTOP, FALSE, FCONT, FIVE, JEXCEPTION, LAMBDA, LOCATION, maxFloatPrecision, MESSAGE, minFloatPrecision, NAME, OTHER, PARENT, permitInterrupts, QUOTE, QUOTESYM, REPORT, SETBANG, SISC, SISC_SPECIFIC, SISCB, SOURCE_COLUMN, SOURCE_FILE, SOURCE_LINE, SYMENV, THIS, TOPLEVEL, TRUE, UNQUOTE, UNQUOTE_SPLICING, VOID, ZV
 
Fields inherited from interface sisc.util.Version
VERSION
 
Constructor Summary
WeakHashtable()
           
WeakHashtable(Procedure equalsProc, Procedure hashProc)
           
 
Method Summary
protected  java.util.Map getMap()
           
protected  HashtableKey makeKey(Value k)
           
 boolean valueEqual(Value v)
          Compares this value to another for semantic equality.
 
Methods inherited from class sisc.modules.hashtable.Hashtable
addAList, callEquals, callHashCode, clear, deserialize, display, get, getEqualsProc, getHashProc, keys, put, remove, serialize, size, toAList, valueHashCode, visit
 
Methods inherited from class sisc.data.Value
apply, displayNamedOpaque, equals, eqv, eval, express, getValue, synopsis, synopsis, toString, write, writeReplace
 
Methods inherited from class sisc.data.Expression
deserializeAnnotations, getAnnotation, getAnnotation, getAnnotationKeys, getAnnotations, getName, readExternal, readResolve, serializeAnnotations, setAnnotation, setAnnotation, setName, visitAnnotations, writeExternal
 
Methods inherited from class sisc.util.Util
annotated, annotatedAppEval, append, argCheck, argsToSymbols, assq, bininport, bininstream, binoutport, binoutstream, box, character, charinport, charinreader, charoutport, charoutwriter, charsetFromString, chr, cont, currentClassLoader, env, error, error, error, error, error, error, error, expr, getDefaultCharacterSet, immutablePair, immutableVector, inport, javaExceptionToString, javaWrap, justify, length, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, list, list, list, list, list, makeURL, mapcar, memq, nlib, num, outport, pair, pairToExpressions, pairToExpVect, pairToValues, proc, read, registerBundle, reverse, reverseInPlace, simpleErrorToString, sourceAnnotations, str, string, sym, symbol, symval, truePair, truth, truth, typeError, typeError, updateName, url, url, url, valArrayToList, valArrayToList, valArrayToVec, vec, warn, warn, warn
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WeakHashtable

public WeakHashtable()

WeakHashtable

public WeakHashtable(Procedure equalsProc,
                     Procedure hashProc)
Method Detail

makeKey

protected HashtableKey makeKey(Value k)
Overrides:
makeKey in class Hashtable

getMap

protected java.util.Map getMap()
Overrides:
getMap in class Hashtable

valueEqual

public boolean valueEqual(Value v)
Description copied from class: Value
Compares this value to another for semantic equality. Used to implement Scheme's 'equal?'. Subclasses must test for pointer equality as well as semantic equality, so that infinite loops on recursive structures are less likely.

Overrides:
valueEqual in class Hashtable
Parameters:
v - the other Value