Class AbstractSubscriptionPricePlanConditionBuilder<T>

java.lang.Object
de.hybris.platform.b2ctelcoservices.pricing.dao.AbstractSubscriptionPricePlanConditionBuilder<T>
Type Parameters:
T - parameter based on which the search query will be enhanced.
All Implemented Interfaces:
TmaGenericConditionBuilder<T>
Direct Known Subclasses:
TmaPriceRegionConditionBuilder, TmaPriceRowChannelConditionBuilder, TmaProcessTypeConditionBuilder, TmaSppAffectedProductConditionBuilder, TmaSppChannelConditionBuilder, TmaSppCurrencyConditionBuilder, TmaSppEligibleProcessesAndTermsConditionBuilder, TmaSppProductConditionBuilder, TmaSppUserPriceGroupConditionBuilder, TmaUserIdConditionBuilder

public abstract class AbstractSubscriptionPricePlanConditionBuilder<T> extends Object implements TmaGenericConditionBuilder<T>
Abstract builder for enhancing the SubscriptionPricePlanModel related search queries.
Since:
1810
  • Field Details

  • Constructor Details

    • AbstractSubscriptionPricePlanConditionBuilder

      public AbstractSubscriptionPricePlanConditionBuilder()
  • Method Details

    • buildQueryConditions

      public de.hybris.platform.core.GenericConditionList buildQueryConditions(de.hybris.platform.core.GenericQuery query, T param) throws TmaSearchQueryException
      Description copied from interface: TmaGenericConditionBuilder
      Builds a GenericConditionList for the given param.
      Specified by:
      buildQueryConditions in interface TmaGenericConditionBuilder<T>
      Parameters:
      query - the search query to be enhanced
      param - parameter based on which the search query will be enhanced.
      Returns:
      created generic condition
      Throws:
      TmaSearchQueryException - exception to be thrown in case a generic condition cannot be created
    • shouldApplyCondition

      protected abstract boolean shouldApplyCondition(T parameter)
    • createQueryConditions

      protected abstract de.hybris.platform.core.GenericConditionList createQueryConditions(de.hybris.platform.core.GenericQuery query, T param) throws TmaSearchQueryException
      Throws:
      TmaSearchQueryException
    • addRelationJoinToQuery

      protected de.hybris.platform.core.GenericSearchField addRelationJoinToQuery(de.hybris.platform.core.GenericQuery query, String relationName, String subscriptionPricePlanRelationName, String targetTypeCode, String targetTypeCodeRelationName)
      Adds a many to many relation defined by the given params to the provided and returns the target GenericSearchField.
      Parameters:
      query - query to be enhanced with relation join
      relationName - name of the relation to be added
      subscriptionPricePlanRelationName - source name of the relation
      targetTypeCode - type code of the item type, target of the relation
      targetTypeCodeRelationName - target name of the relation
      Returns:
      the pk field of the target
    • productIsBpo

      protected boolean productIsBpo(ProductModel poModel)
      Determines whether the product is a Bundled Product Offering other then Fixed Bundled Product Offering.
      Parameters:
      poModel - product offering whose instance will be checked
      Returns:
      true in case this offering is a normal BPO (not a fixed price one), false otherwise