Module Archive
All information associated with a particular module name in this module, across all known versions.
Parameters
The enclosing Repository.
This module's name, relative to its root.
Properties
Answer an immutable Map from ModuleVersionKey to ModuleVersion, containing entries for every version still tracked by this ModuleArchive.
Functions
Delete all compiled versions of this module. Don't remove the cached file digests. Note that the compiled versions are still in the repository, they're just not reachable from the root metadata any longer.
Determine the cryptographic hash of the file's current contents. Since we assume that the same filename and modification time implies the same digest, we cache the digest under that combination for performance.
If this ModuleVersion exists in the repository, then answer it; otherwise answer null.
Record a new compilation of a ModuleVersion. The version must already exist in the repository. The compilation key must not yet have a ModuleCompilation associated with it.
Output this ModuleArchive to the provided DataOutputStream. It can later be reconstituted via the constructor taking a DataInputStream.