If marketplace vendor functionality is enabled, then these components are registered to ensure the various change domains are vendor-discriminated and transition operations from vendor users do not have impact outside of the appropriate restrictions.
ChangeSummary
, ChangeSummaryGroup
, and ChangeDeploy
are not Trackable
, and require much more complex filtration behavior than what the standard VendorNarrowingContextInfoCustomizer
/VendorVisibilityHandler
ecosystem can provide.
Thus, the mechanism of narrowing is implemented with completely different components that operate closer to the repository-layer.
JPA components
JpaVendorNarrowingQueryCustomizer
Somewhat analogous to the QueryInfluencer
built by VendorNarrowingContextInfoCustomizer
- this is the top-level component that repository methods will generally invoke to contribute vendor narrowing criteria to a query.
This delegates to the JpaVendorNarrowingCriteriaManager
for entity-specific behavior.
JpaVendorNarrowingCriteriaManager
Somewhat analogous to VendorVisibilityManager
- this injects all JpaVendorNarrowingCriteriaHandler
implementations and delegates to the appropriate one to build vendor filtration criteria for an entity.
JpaVendorNarrowingCriteriaHandler
Somewhat analogous to VendorVisibilityHandler
- this is the main component that should be implemented for each entity in order to support building vendor filtration criteria for it.