Interface CxCustomizationDaoStrategy

All Superinterfaces:
CxDaoStrategy
All Known Implementing Classes:
CxCustomizationCodeDaoStrategy, CxCustomizationNameStatusesDaoStrategy, CxCustomizationPageIdDaoStrategy

public interface CxCustomizationDaoStrategy extends CxDaoStrategy
Marker interface for extra filtering strategies for CxCustomization.

Contains default methods helpful for making multicountry aware queries

  • Field Details

  • Method Details

    • isMulticountryEnabled

      default boolean isMulticountryEnabled(Map<String,Object> queryParams)
      Checks if query should provide multicountry support.
      Parameters:
      queryParams - query parameters
      Returns:
      true if multicountry support is required
    • getMulticountryWhereOperator

      default String getMulticountryWhereOperator(Map<String,Object> queryParams)
      Returns operator and parameter for catalog version of customization for "WHERE" part of the query.
      Parameters:
      queryParams - query parameters
      Returns:
      " IN (?catalogVersions)" for multicountry and " = ?catalogVersion" for single catalog query
    • buildOrderByForMulticountry

      default String buildOrderByForMulticountry(Map<String,Object> queryParams)
      Builds extra order by statement for multicountry for ordering by catalog version. If query does not support multicountry returns empty string.
      Parameters:
      queryParams - query parameters
      Returns:
      order by statement or empty string if query does not support multicountry
    • buildOrderByForMulticountry

      default String buildOrderByForMulticountry(Map<String,Object> queryParams, String prefix)
      Builds extra order by statement for multicountry for ordering by catalog version. If query does not support multicountry returns empty string.
      Parameters:
      queryParams - query parameters
      prefix - prefix for customization table
      Returns:
      order by statement or empty string if query does not support multicountry
    • buildCaseFroMulticountry

      default String buildCaseFroMulticountry(Map<String,Object> queryParams, String prefix)
      Builds a case statement for multicountry query. It can be used to add extra column into the results or to order results by catalog version.
      Parameters:
      queryParams - query parameters
      prefix - prefix for customization table
      Returns:
      case statement
    • buildCaseFroMulticountry

      default String buildCaseFroMulticountry(List<CatalogVersionModel> catalogVersions, String prefix)
      Builds a case statement for multicountry query. It can be used to add extra column into the results or to order results by catalog version.
      Parameters:
      catalogVersions - list of catalog versions that will be in case statement
      Returns:
      case statement