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.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    enhanceCacheKeyWithVendorConsiderations(com.fasterxml.jackson.databind.node.ObjectNode cacheKey, ContextInfo contextInfo)
    Typically, implementations of this method should load the current policy requirements and leverage VendorAwareTrackablePolicyUtils 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 leverage VendorAwareTrackablePolicyUtils 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 enhance
      contextInfo - context information surrounding sandboxing and multitenant state