Interface CxCustomizationDaoStrategy

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CATALOGS  
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default java.lang.String buildCaseFroMulticountry​(java.util.List<CatalogVersionModel> catalogVersions, java.lang.String prefix)
      Builds a case statement for multicountry query.
      default java.lang.String buildCaseFroMulticountry​(java.util.Map<java.lang.String,​java.lang.Object> queryParams, java.lang.String prefix)
      Builds a case statement for multicountry query.
      default java.lang.String buildOrderByForMulticountry​(java.util.Map<java.lang.String,​java.lang.Object> queryParams)
      Builds extra order by statement for multicountry for ordering by catalog version.
      default java.lang.String buildOrderByForMulticountry​(java.util.Map<java.lang.String,​java.lang.Object> queryParams, java.lang.String prefix)
      Builds extra order by statement for multicountry for ordering by catalog version.
      default java.lang.String getMulticountryWhereOperator​(java.util.Map<java.lang.String,​java.lang.Object> queryParams)
      Returns operator and parameter for catalog version of customization for "WHERE" part of the query.
      default boolean isMulticountryEnabled​(java.util.Map<java.lang.String,​java.lang.Object> queryParams)
      Checks if query should provide multicountry support.
    • Method Detail

      • isMulticountryEnabled

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

        default java.lang.String getMulticountryWhereOperator​(java.util.Map<java.lang.String,​java.lang.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 java.lang.String buildOrderByForMulticountry​(java.util.Map<java.lang.String,​java.lang.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 java.lang.String buildOrderByForMulticountry​(java.util.Map<java.lang.String,​java.lang.Object> queryParams,
                                                             java.lang.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 java.lang.String buildCaseFroMulticountry​(java.util.Map<java.lang.String,​java.lang.Object> queryParams,
                                                          java.lang.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 java.lang.String buildCaseFroMulticountry​(java.util.List<CatalogVersionModel> catalogVersions,
                                                          java.lang.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