sisc.modules.hashtable
Class SynchronizedHashtable

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.SynchronizedHashtable
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version

public class SynchronizedHashtable
extends HashtableBase

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
SynchronizedHashtable()
           
SynchronizedHashtable(HashtableBase delegate)
           
 
Method Summary
 void addAList(Pair p)
           
 void clear()
           
 void deserialize(Deserializer s)
          All Expressions must implement a default (no-argument) constructor.
 void display(ValueWriter w)
           
 Value get(Value k)
           
 HashtableBase getDelegate()
           
 Procedure getEqualsProc()
           
 Procedure getHashProc()
           
 Pair keys()
           
 Value put(Value k, Value v)
           
 Value remove(Value k)
           
 void serialize(Serializer s)
          All Expressions must implement a default (no-argument) constructor.
 int size()
           
 Pair toAList()
           
 boolean valueEqual(Value v)
          Compares this value to another for semantic equality.
 int valueHashCode()
          a hashCode function consistent with valueEqual
 boolean visit(ExpressionVisitor v)
           
 
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

SynchronizedHashtable

public SynchronizedHashtable()

SynchronizedHashtable

public SynchronizedHashtable(HashtableBase delegate)
Method Detail

getDelegate

public HashtableBase getDelegate()

getEqualsProc

public Procedure getEqualsProc()
Specified by:
getEqualsProc in class HashtableBase

getHashProc

public Procedure getHashProc()
Specified by:
getHashProc in class HashtableBase

get

public Value get(Value k)
Specified by:
get in class HashtableBase

put

public Value put(Value k,
                 Value v)
Specified by:
put in class HashtableBase

remove

public Value remove(Value k)
Specified by:
remove in class HashtableBase

size

public int size()
Specified by:
size in class HashtableBase

clear

public void clear()
Specified by:
clear in class HashtableBase

addAList

public void addAList(Pair p)
Specified by:
addAList in class HashtableBase

toAList

public Pair toAList()
Specified by:
toAList in class HashtableBase

keys

public Pair keys()
Specified by:
keys in class HashtableBase

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.

Specified by:
valueEqual in class HashtableBase
Parameters:
v - the other Value

valueHashCode

public int valueHashCode()
Description copied from class: Value
a hashCode function consistent with valueEqual

Specified by:
valueHashCode in class HashtableBase
Returns:
hash code

serialize

public void serialize(Serializer s)
               throws java.io.IOException
Description copied from class: Expression
All Expressions must implement a default (no-argument) constructor. Those that wish to be serialized to a heap must implement both this and the deserialize method. The Expression may use any method of the Serializer, which implements java.io.DataOutput to write its state.

Specified by:
serialize in class HashtableBase
Parameters:
s - the Serializer
Throws:
java.io.IOException

deserialize

public void deserialize(Deserializer s)
                 throws java.io.IOException
Description copied from class: Expression
All Expressions must implement a default (no-argument) constructor. Those that wish to b serialized to a heap must implement both this and the serialize method. The Expression may use any method of the DataInput stream and the Deserializer serialization context to read its state.

Specified by:
deserialize in class HashtableBase
Parameters:
s - the Deserializer
Throws:
java.io.IOException

visit

public boolean visit(ExpressionVisitor v)
Specified by:
visit in interface ExpressionVisitee
Specified by:
visit in class HashtableBase

display

public void display(ValueWriter w)
             throws java.io.IOException
Specified by:
display in class HashtableBase
Throws:
java.io.IOException