-
Enhancement
-
Resolution: Done
-
Major
-
4.0.0.ALPHA4
-
None
From a IRC discussion with Manik:
Right now an InternalCacheValue(ICV) is created from an InternalCacheEntry(ICE) by the CacheStore whenever we persist an entry: this is in order to avoid duplicate marshalling of the key.
Same way, an InternalCacheEntry is created from an ICV whenever the value is unmarshalled.
Avoid this unnecessary creation of objects by making ICE aggregate an ICV, and delegate all the state calls to it.
Impl note: in order to allow delegation from ICE to ICV, make all the ICV's methods final.