This package provides two different caching mechanisms, which are used throughout XTF to speed access to commonly used items. The two types of caches are SimpleCache, to which one simply adds items to cache, and GeneratingCache in which one queries for a requested item and it's generated if it doesn't yet exist.

Both types of caches support the ability to expire entries on a least-recently-used basis, maintaining a limit on the number of entries, maximum age of an entry, or both.

Added to this is a fairly sophisticated dependency mechanism, where one cache entry can depend on one (or many) FileDependencies; if any file changes, the entry is thrown out. Likewise, a cache entry can depend on another cache entry using a CacheDependency.