The fundamental unit of search is a single WORD, and the critical relationship to track is the binding between a WORD and the PAGE it occurs in. To track the mapping between WORDs and the PAGEs that they occur in, the Moogle suite will use a hash mapping, specifically, a from-scratch implementation of the java.util.Map interface, as documented in the Java JDK API specification, backed by a hash table implementation. As stated in Section 3, the designer MAY choose to implement either the generic version of java.util.Map, as documented in the Java 1.5.x API, or the non-generic version, as documented in the Java 1.4.x API.
This module MUST be named MondoHashMap.java and MUST support the complete java.util.Map interface and contract specification, including operations marked as ``optional'' in the JDK documentation. The MondoHashMap implementation MUST NOT use, access, refer to, or rely on the AbstractMap or any other implementation of the Map interface. The MondoHashMap implementation MAY employ the java.util.AbstractSet and/or java.util.AbstractCollection implementations to support the Map.keySet(), Map.values(), and/or Map.EntrySet() operations.
The MondoHashMap will form the core of the first milestone submission; refer to Section 7.1 for details on the full submission requirements.
Terran Lane 2005-08-23