sisc.modules.hashtable
Class Hashtable
java.lang.Object
sisc.util.Util
sisc.data.Expression
sisc.data.Value
sisc.modules.hashtable.HashtableBase
sisc.modules.hashtable.Hashtable
- All Implemented Interfaces:
- java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version
- Direct Known Subclasses:
- WeakHashtable
public class Hashtable
- extends HashtableBase
- See Also:
- Serialized Form
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 |
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 |
Hashtable
public Hashtable()
Hashtable
public Hashtable(Procedure equalsProc,
Procedure hashProc)
getEqualsProc
public Procedure getEqualsProc()
- Specified by:
getEqualsProc
in class HashtableBase
getHashProc
public Procedure getHashProc()
- Specified by:
getHashProc
in class HashtableBase
callEquals
public boolean callEquals(Value v1,
Value v2)
callHashCode
public int callHashCode(Value v)
makeKey
protected HashtableKey makeKey(Value k)
getMap
protected java.util.Map getMap()
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