The dimension value cache is implemented by the atg.commerce.endeca.cache.DimensionValueCache
class. This class uses objects of class atg.commerce.endeca.cache.DimensionValueCacheObject
for storing cache entries. The cache is a ConcurrentHashMap
, where each key is an category ID, and the corresponding map value is an instance of DimensionValueCacheObject
.
The DimensionValueCacheObject
class stores the following information about a dimension value:
dimvalId
– the dimension value ID for the category; e.g.,1245
repositoryId
– the GSA repository ID for the category; e.g.,cat50087
url
-- the Guided Search URL for the dimension value; e.g.,/browse?N=1245
ancestorRepositoryIds
– a List of repository IDs for the category’s ancestor categories; e.g.,cat10016,cat10014
Note that a single key can be associated with multiple DimensionValueCacheObject
instances, because a category can have multiple parent categories. Therefore when a DimensionValueCache
is used to look up the dimension value for a specific repository ID, the results are returned as a List
of DimensionValueCacheObject
instances (although in many cases the List
may have only one entry).