Class VendorNarrowingContextInfoCustomizer

java.lang.Object
com.broadleafcommerce.data.tracking.core.marketplace.vendor.visibility.narrowing.VendorNarrowingContextInfoCustomizer
All Implemented Interfaces:
ContextInfoCustomizer, org.springframework.core.Ordered

public class VendorNarrowingContextInfoCustomizer extends Object implements ContextInfoCustomizer
Depending on the current authentication's restrictions/permissions and the current operation's policy requirements, it may be necessary to restrict query results to only include data from certain vendors.

This component is responsible for adding a ContextInfo.QueryInfluencer to ContextInfo.getQueryInfluencers() that can generate a vendor-narrowing filter appropriate for the current authentication, current policy requirements, and the persisted-domain entity being read.

See Also:
  • Constructor Details

  • Method Details

    • customize

      public void customize(ContextInfo contextInfo, @Nullable String routeKey, @Nullable org.springframework.core.MethodParameter endpoint, @Nullable org.springframework.web.context.request.NativeWebRequest webRequest)
      Description copied from interface: ContextInfoCustomizer
      Customize any of the settings on the passed in ContextInfo instance.
      Specified by:
      customize in interface ContextInfoCustomizer
      Parameters:
      contextInfo - The instance to customize
      routeKey - Analogous to the key identified by DataRouteByKey. Useful in restricting the influence of the customization to particular flows. For example, you could use this to limit customization to all catalog service flows by comparing this routeKey to the catalog service's RouteConstants.CATALOG_ROUTE_KEY. May be null if the ContextInfo is being customized from a non-standard location, or if data routing is not currently engaged for the flow.
      endpoint - The method that initiated the instantiation of this ContextInfo instance. You can use this value to limit customization to a particular endpoint class or method call by inspecting the attributes of this value. May be null if the ContextInfo is being customized from a non-standard location.
      webRequest - Web call related information. Can be used to inspect request context information in order to make arbitrary decisions regarding customization. May be null if the ContextInfo is being customized from a non-standard location.
    • vendorNarrowingQueryInfluencer

      protected ContextInfo.QueryInfluencer vendorNarrowingQueryInfluencer()
    • getVendorVisibilityManager

      protected VendorVisibilityManager getVendorVisibilityManager()
    • getVendorAwareTrackablePolicyUtils

      protected VendorAwareTrackablePolicyUtils getVendorAwareTrackablePolicyUtils()