All Classes and Interfaces
Class
Description
This class allows for reuse of active date logic within the offer service.
AlternateLifecycleOfferAuditSummaryRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Provides an alternate path for handling persistence for
OfferAuditSummary
.AlternateLifecycleSharedCodeAuditSummaryRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Provides an alternate path for handling persistence for
SharedCodeAuditSummary
.Simple stucture to store an amount and qty.
Many entities have customizable dynamic attributes, and this class is intended to hold such
values.
Configuration properties for controlling which audit checks run for the various flows.
This object is used to control which audit validations are run in
DefaultOfferAndOfferCodeUsabilityService.getOfferAndOfferCodeUsabilityInfo(List, List, List, CustomerContext, ContextInfo)
Many flows within PromotionServices can call audit validations as part of the flow.Constants for working with the cache invalidation messages for the Promotion service.
Lightweight cacheable structure to simply hold the tracking ids relationship to offer
The main domain that the Broadleaf Campaign service is based around.
Spring cloud data channel description for messaging input.
Configuration properties for special behavior on campaign code generation.
Configuration properties for special behavior on campaign code generation for vouchers.
Validator used to run checks against campaign codes to determine which codes are still usable.
Spring Boot default property overrides for this service
Campaign-specific configuration for validation.
CampaignRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Repository
for persistent counter-parts of
com.broadleafcommerce.promotion.campaign.domain.Campaign
.Base service API for
Campaign
.Validations for
Campaign
.Represents a candidate fulfillment group for which an
Offer
has been applied.DTO containing information necessary for determining if an
Offer
that can apply to one or
more EnhancedFulfillmentGroup
s is part of the best permutation of all offers applicable
to that group.DTO containing information necessary for determining if an
Offer
that can apply to an
EnhancedLineItem
is part of the best permutation of all offers applicable to that line
item.DTO containing the candidate offers broken out into groups based on an
offer's
Discount.getTargetType()
}.Utility for creating each of the different CandidateXOffer types:
CandidateOrderOffer
,
CandidateItemOffer
, CandidateFulfillmentGroupOffer
.DTO containing information necessary for determining if an
Offer
that can apply to an
EnhancedOrder
is part of the best permutation of all offers applicable to that order.Determines for a given character what the available replacement characters are.
Spring cloud data channel description for messaging input.
DTO holding the resulting information about the code generation.
Performs operations on a
CodeGenerator
, such as validation and code generation.
Corresponds to the status of a
CodeGenerator
A code generation bucket provides a way to generate large numbers of random codes while
minimizing collisions in the database.
Validation ran on a
CodeGenerator
before create.CodeGeneratorRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Repository
for persistent counter-parts of
com.broadleafcommerce.promotion.campaign.domain.CodeGenerator
.Base service API for
com.broadleafcommerce.promotion.campaign.domain.CodeGenerator
.Validations for
CodeGenerator
.Represents a collection of overrides to other combinability and stacking settings.
Enumerates the combinability override options for an
CombinabilityOverride
.Enumerates the combinability options for an
Offer
.DTO containing a permutation for each offer type
This class is used by the
OfferProcessingContext
to build a tree of compatible offers of
the same type.This class is used by the
OfferProcessingContext
to build a tree of compatible
permutations.Configuration properties for defining the names of the customer fields that can be targeted by
UserTarget.targetType
s.CustomizedCampaignRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Provides advanced functionality for
Campaigns
that require manually implemented
queries rather than through Spring Data.CustomizedMarketingMessageRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Adds customized methods for dealing with
MarketingMessage
persistence.CustomizedOfferCodeRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Provides advanced functionality for
OfferCodes
that require manually
implemented queries rather than through Spring Data.CustomizedOfferRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Advanced functionality related to offer maintenance and filtering.
Default
Export.getTarget()
values that are supported for processing.Service responsible for enforcing idempotency checks on a message before executing an operation
against the message.
Represents reserved
UserTarget targetValues
that have special
meaning in Broadleaf.Determines the default user type that offers can target.
Encapsulates all of the fields relevant to an
offer's discount
.When processing order adjustments, we need to be able to prorate the adjustment to the relevant
line items.
Interface to abstract whether the discount and amount come from a Discount or DiscountTier
Enumerates the methods whereby to apply an
offer's discount
to a target.Parameters used in the
DefaultOfferApplicationService
to calculate the potential discount
of a CandidateItemOffer
for an EnhancedLineItem
.Enumerates the kinds of entities to which an
Discount.getAmount()
mount offer's discount}
can apply.Represents a tier and amount combination for an offer's discount.
Enumerates the options for when an
offer's discount
is be applied.DTO containing prorated price adjustment information for a
EnhancedLineItem
caused by a
CandidateItemOffer
targeting it (see Offer.getTargetItemCriteria()
) or using it
as a qualifier (see Offer.getItemQualifierCriteria()
).DTO containing price adjustment information for an
EnhancedFulfillmentGroup
caused by a
CandidateFulfillmentGroupOffer
targeting it.DTO containing results of the evaluation of a permutation of item offers.
A service for calculating, determining, and applying the best
fulfillment
offers.For
OfferService.warmCache()
and OfferCodeService.warmCache()
, return the status
of completion of the cache warming process.Describes how the system should consider full cache of offer related entities.
Service responsible for enforcing idempotency checks on a message before executing an operation
against the message.
IdSeekPageIterator<T extends com.broadleafcommerce.data.tracking.core.Trackable>
Iterator that performs "seek" pagination.
Encapsulates all criteria used either to determine if an item is a qualifier or a target.
Encapsulates a single rule the forms a part of an
ItemCriteria
.DTO containing price adjustment information for a
EnhancedLineItem
caused by a
CandidateItemOffer
targeting it.DTO containing results of the evaluation of a permutation of item offers.
A service for calculating, determining, and applying the best
order item
offers.
Enumerates the possible ways in which an
order item's
use by
offers
can be restricted depending on whether it meets an
offer's item qualifier criteria
or
target item criteria
.Persistent counter-part to an
Attribute
for use with a JPA datastore.Jpa DB counter-part of
CampaignRepository
.Persistent counter-part to campaign tracking information for use with a Jpa datastore.
JPA counter-part of
CodeGeneratorRepository
.Persistent counter-part to a
CombinabilityOverride
for use with a Jpa datastore.Persistent counter-part to a
DiscountTier
for use with a Jpa datastore.Persistent counter-part to an
ItemCriteriaRule
for use with a Jpa datastore.Persistent counter-part to a
MarketingMessage
for use with a Jpa datastore.Persistent counter-part to a
Offer
for use with a Jpa datastore.Persistent counter-part to
OfferAuditDetail
for use with a Jpa datastore.JPA counter-part of
OfferAuditSummaryRepository
.JPA implementation of
OfferCodeRepository
.JPA counter-part of
SharedCodeAuditSummaryRepository
.Persistent counter-part to
UserTarget
for use with a Jpa datastore.DTO containing information about the effects of all the
offer's
applicable to an
EnhancedLineItem
either treating it as a Offer.getTargetItemCriteria()
target} or
a Offer.getItemQualifierCriteria()
qualifier}.Enumerates the kinds of
LineItems
that exist.A MarketingMessage encapsulates information necessary for displaying a marketing
message related to an
Offer
next to items affected by the offer in different contexts.
Enumeration that determines the locations in which an
offer's
marketing message
should appear.This service is responsible for finding all the active
Offers
related to a
EnhancedLineItem
in order to provide the ItemMarketingMessageResolver
to retrieve
every relevant MarketingMessage
.MarketingMessageRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Repository
for persistent counter-parts of
MarketingMessages
.A DTO used to make requests to the
MarketingMessageResolver
, which finds
MarketingMessages
.Service API to retrieve
MarketingMessages
for a
MarketingMessageRequest
based on the Offers
the messages belong to, the
MarketingMessageLocationType
, and the MarketingMessageTargetType
.A DTO to return a list of
MarketingMessages
.A DTO to return a list of
MarketingMessages
.MarketingMessage
is a subresource of Offer
, so most of these endpoints fall under
the same base URL as OffersEndpoint
.Base service API for
MarketingMessage
.
Enumerates the types of items a
marketing message
can target.Validations for
MarketingMessage
.Denotes the status of max usage for a given offer.
Helper class to calculate rounding of monetary unit amounts from offer adjustments.
An Offer encapsulates information required to provide specialized discount pricing for
orders, order items, or related entities This includes not just the discount amount but also
important factors such as whether the discount is a percent off, amount off, or fixed price type
and whether it should be applied immediately or provided as future credit to the user.
Validator used to run checks against offers and offer codes to determine which offers and codes
are still usable.
This service adds adjustments to the order
Captures audit relevant data when an offer was applied to an order.
OfferAuditDetailRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Validation for
OfferAuditDetail
Summary of relevant audit data for an offer.
OfferAuditSummaryRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Configuration for engaging default Broadleaf support for Apache Ignite cache
Properties that influence cache settings for the pricing service
This service determines what offers are candidates for a provided order and context.
Spring cloud data channel description for messaging input.
This class builds convenience structures that represent the code and related offer settings that
are used by the offer engine processing.
An
ExportProcessor
for exports of OfferCode
.OfferCodeRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Repository for persistent counter-parts of
OfferCode
.Validations for
OfferCode
.This structure allows permutations by offer type to be grouped based on how they are combined
with other types and to easily check whether a given set of permutations is compatible with a
permutation from another offer type.
A structure containing the combinability data for a single offer.
This component attempts to populate the
ContextInfo.getDefaultCurrency()
Spring Boot default property overrides for this service
Additional info for all the
offers
treating an EnhancedLineItem
as a
target.OfferEngineResponseBuilder<P extends com.broadleafcommerce.promotion.offer.client.web.context.info.ProratedItemOfferAdjustment>
Tool to build a
OrderResponse
from the information provided via an EnhancedOrder
.This serves as the entry and exist points for the offer engine, which takes in an order and
context then determines what offers can apply before calculating the best possible permutation of
offers and applying them.
Offer-specific configuration for validation.
A special
UserType
for a Set
collection of JpaItemCriteriaRule.Responsible for managing offer and offerCode lifecycle in regard to max usage status.
Utility methods used by the offer processing engine extracted for ease of testing.
This object manages the full list of permutations for a given execution of the offer engine and
provides methods to determine the correct mix of offers for the final result.
DTO containing information about the
order items
used by an
Offer
as item qualifiers.OfferRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Properties related to offer rounding behaviors.
Configuration properties for Offer Services.
DTO containing a set of compatible offers of the same type and that share the same combinability
with regard to other types.
Service API for
OfferAuditSummary
, supported by OfferAuditSummaryRepository
.Details of system offer usage to record offer audit entities.
Helper methods around users for offers.
Validations for
Offer
.This class contains methods with usage shared by
ItemOfferProcessor
and
OrderOfferProcessor
.DTO containing price adjustment information for an
EnhancedOrder
caused by a
CandidateOrderOffer
targeting it.DTO containing results of the evaluation of a permutation of order offers.
A service for calculating, determining, and applying the best
order
offers.Properties related to offer rounding behaviors for order typed offers.
DTO containing relevant totals such as the order subtotal, discountable subtotals, and other
totals needed to determine the best offer.
This service is responsible for calculating the potential savings for
Offer
target items
if that offer is was the only offer applied.Spring cloud data channel description for messaging input.
Internal Spring event to notify listeners of a state change on an entity in order to influence
cache invalidation activities.
An event listener that triggers when a promotion service related entity that is eligible for
cache is mutated.
Provides supporting functionality related to cache invalidation components based on the
PromotionCacheInvalidationHelper.getSupportedProjectionTypes()
registered.Pojo defining the types supported for cache invalidation, as well as the send delay for cache
invalidation messages (may be zero delay, in which case sending is immediate).
Factory responsible for creating cache invalidation messages via the
NotificationHandler
Initialize the NotificationState for
PromotionCacheInvalidationProducer.TYPE
.Spring cloud data channel description for messaging output.
Enumeration to determine whether an
offer's discount
is divided amongst
different types of order items: Whether just "targets" or also "qualifiers".This service is responsible for marking
an order's order
items
as either targets or qualifiers for a given CandidateItemOffer
.Comparator
for LineItemOfferDetails
being used as qualifiers
for offers.An event listener that triggers when an order is successfully submitted.
Summary of relevant audit data for a shared code.
SharedCodeAuditSummaryRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Service API for
SharedCodeAuditSummary
, supported by
SharedCodeAuditSummaryRepository
.Encapsulates all of the fields relevant to an
offer's
subscription compatibility
.Comparator
for LineItemOfferDetails
being used as targets of
offers.DTO containing the total potential savings info for all of an
order's order items
due to the application of a single
CandidateItemOffer
.Determines how the
Offer.maxUsesPerUserStrategy
will be applied.Abstraction of a user that offers can target.
A request DTO for generating voucher codes.
Validator used to run checks against voucher offers to determine which offers are still usable.