General Purpose is to provide a cache api with differents providers :
Typical use case for this API could be the following : you have an functionnal API which create objects by using a requirement on a DAO plexus components. Before asking the DAO layer (webServices, Jdbc access ...), you want to ask if the data exists in a cache if yes the cached value is return if not the DAO layer is used and the result put in the cache for future use.
Look at he test case AbstractTestWineService in the module plexus-cache-test. A service called WineService explains this. The default implementation has two requirements :
CacheBuilder can build a cache for the bean you ask (in the sample it's Wine)
cacheBuilder.getCache( Wine.class )