Interface CountOnCustomLineItemUnits

All Superinterfaces:
PatternComponent

public interface CountOnCustomLineItemUnits extends PatternComponent
CountOnCustomLineItemUnits
Example to create an instance using the builder pattern

     CountOnCustomLineItemUnits countOnCustomLineItemUnits = CountOnCustomLineItemUnits.builder()
             .predicate("{predicate}")
             .build()
 
  • Field Details

    • COUNT_ON_CUSTOM_LINE_ITEM_UNITS

      static final String COUNT_ON_CUSTOM_LINE_ITEM_UNITS
      discriminator value for CountOnCustomLineItemUnits
      See Also:
  • Method Details

    • getPredicate

      @NotNull @NotNull String getPredicate()

      Valid CustomLineItem predicate that determines the units participating in the Discount.

      Returns:
      predicate
    • getMinCount

      Integer getMinCount()

      Minimum number of units of a Custom Line Item that match the predicate.

      Returns:
      minCount
    • getMaxCount

      Integer getMaxCount()

      Maximum number of units of a Custom Line Item that match the predicate. There might be more units matching the predicate, but they will not be participating to the resulting set.

      The value must be greater than or equal to minCount. If not provided, the component will match all units that satisfy the predicate.

      Returns:
      maxCount
    • getExcludeCount

      Integer getExcludeCount()

      Number of units of a Custom Line Item to exclude on every application of the Discount.

      Set only when configuring the targetPattern.

      The units matched first (satisfying the pattern component) will be excluded from the resulting set. The minCountand maxCount are considered only after the exclusion. Pattern components are matched only if any further units satisfying the pattern component exist. For example, if 5 jeans are required but only 3 should be discounted, the excludeCount value must be 2.

      Returns:
      excludeCount
    • setPredicate

      void setPredicate(String predicate)

      Valid CustomLineItem predicate that determines the units participating in the Discount.

      Parameters:
      predicate - value to be set
    • setMinCount

      void setMinCount(Integer minCount)

      Minimum number of units of a Custom Line Item that match the predicate.

      Parameters:
      minCount - value to be set
    • setMaxCount

      void setMaxCount(Integer maxCount)

      Maximum number of units of a Custom Line Item that match the predicate. There might be more units matching the predicate, but they will not be participating to the resulting set.

      The value must be greater than or equal to minCount. If not provided, the component will match all units that satisfy the predicate.

      Parameters:
      maxCount - value to be set
    • setExcludeCount

      void setExcludeCount(Integer excludeCount)

      Number of units of a Custom Line Item to exclude on every application of the Discount.

      Set only when configuring the targetPattern.

      The units matched first (satisfying the pattern component) will be excluded from the resulting set. The minCountand maxCount are considered only after the exclusion. Pattern components are matched only if any further units satisfying the pattern component exist. For example, if 5 jeans are required but only 3 should be discounted, the excludeCount value must be 2.

      Parameters:
      excludeCount - value to be set
    • of

      factory method
      Returns:
      instance of CountOnCustomLineItemUnits
    • of

      factory method to create a shallow copy CountOnCustomLineItemUnits
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • deepCopy

      factory method to create a deep copy of CountOnCustomLineItemUnits
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      builder factory method for CountOnCustomLineItemUnits
      Returns:
      builder
    • builder

      create builder for CountOnCustomLineItemUnits instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withCountOnCustomLineItemUnits

      default <T> T withCountOnCustomLineItemUnits(Function<CountOnCustomLineItemUnits,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<CountOnCustomLineItemUnits> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference