Interface VendorAwareCacheKeyEnhancer
- All Known Implementing Classes:
CatalogVendorAwareCacheKeyEnhancer
,DefaultVendorAwareCacheKeyEnhancer
public interface VendorAwareCacheKeyEnhancer
If vendor processing is enabled, the current authentication and policy requirements will
influence query results (via
VendorNarrowingContextInfoCustomizer
) and the reported
mutability
(via VendorAwareTrackablePolicyUtils
).
To prevent a situation where authentications with different restrictions/restricted-privileges incorrectly share the same cache value (and cause invalid data to be returned), cache keys must include these elements.
Implementations of this interface should contain the logic necessary to appropriately populate a cache key with those elements.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
enhanceCacheKeyWithVendorConsiderations
(com.fasterxml.jackson.databind.node.ObjectNode cacheKey, ContextInfo contextInfo) Typically, implementations of this method should load the current policy requirements and leverageVendorAwareTrackablePolicyUtils
to determine relevant restrictions/restricted-privileges available to the current authentication, and add those details to the provided cache key node.
-
Method Details
-
enhanceCacheKeyWithVendorConsiderations
void enhanceCacheKeyWithVendorConsiderations(com.fasterxml.jackson.databind.node.ObjectNode cacheKey, ContextInfo contextInfo) Typically, implementations of this method should load the current policy requirements and leverageVendorAwareTrackablePolicyUtils
to determine relevant restrictions/restricted-privileges available to the current authentication, and add those details to the provided cache key node.- Parameters:
cacheKey
- the cache key to enhancecontextInfo
- context information surrounding sandboxing and multitenant state
-