Interface CatalogProvider

  • All Known Implementing Classes:
    ExternalCatalogProvider

    public interface CatalogProvider
    Provider for interfacing with operations around a Catalog related entities. Typically utilizes WebClient to make requests to an external REST API.
    Author:
    Nathan Moore (nathandmoore)
    • Method Detail

      • fetchProductsWithDetails

        ProductList fetchProductsWithDetails​(ProductDetailsRequest request)
        Retrieves the product list with details for the request.
        Parameters:
        request - All of the relevant information to be used to retrieve a product's details
        Returns:
        The product list for the parameters provided.
      • fetchCategoryWithDetails

        Category fetchCategoryWithDetails​(CategoryDetailsRequest request)
        Retrieves the category with details for the request.
        Parameters:
        request - All of the relevant information to be used to retrieve a category's details
        Returns:
        The category for the parameters provided.
      • fetchDataDrivenEnumsWithDetails

        DataDrivenEnumList fetchDataDrivenEnumsWithDetails​(DataDrivenEnumDetailsRequest request)
        Retrieves the data driven enum list with details for the request.
        Parameters:
        request - All of the relevant information to be used to retrieve a list of data driven enum with their details
        Returns:
        The data driven enum list for the parameters provided.
      • hydrateProductTags

        <T extends Product> void hydrateProductTags​(Collection<T> products,
                                                    @Nullable
                                                    org.springframework.util.MultiValueMap<String,​String> parameters,
                                                    @Nullable
                                                    com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Retrieves the ProductTags for the provided products and populates them onto Product.getAdvancedTags().
        Parameters:
        products - Products to hydrate.
        parameters - Request parameters to include when fetching assets
        contextInfo - Additional sandbox and multitenant info.
      • fetchBrowseEntityDetails

        BrowseEntityDetails fetchBrowseEntityDetails​(BrowseDetailsRequest request)
        Retrieves a product list or category that matches the given request.
        Parameters:
        request - All of the relevant information to be used to retrieve a browse entity's details such as a list of URIs.
        Returns:
        The details of the browse entities matching the request