Serialized Form
-
Package com.broadleafcommerce.pricing.domain
-
Class com.broadleafcommerce.pricing.domain.ModifiableFields
class ModifiableFields extends Object implements Serializable- serialVersionUID:
- 1L
-
Class com.broadleafcommerce.pricing.domain.PriceData
class PriceData extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
Defines the ending time for which this price data is active -
activeStartDate
Instant activeStartDate
Defines the beginning time for which this price data is active. -
attributes
Map<String,
Object> attributes Additional miscellaneous attributes to store about this price data.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
availableQuantity
Integer availableQuantity
Defines the actual quantity available for this price data as the sale progresses. Initially it is set to thePriceData.startingQuantity
and is deducted as it gets used.- See Also:
-
characteristics
Map<String,
String> characteristics Attributes to use to filter price data by. Evaluated against a target's characteristics.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTracking
information to expose the context state for this object. -
description
String description
The description for this price data. -
id
String id
-
name
String name
The name for this price data. -
price
javax.money.MonetaryAmount price
The one-time price. This is typically used during checkout. -
priceListId
String priceListId
The contextId of the parent price list.- See Also:
-
priceListName
String priceListName
- See Also:
-
priority
Integer priority
The priority of this price data. This helps determine which the best price data is when multiple can apply to a target.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
recurringPeriodFrequency
Integer recurringPeriodFrequency
The frequency with which to charge thePriceData.recurringPrice
.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.recurringPrice
PriceData.recurringPeriodType
-
recurringPeriodLimit
Integer recurringPeriodLimit
Defines the number of periods the price should recur. Only applicable for non-standard price lists, particularly sales where a discount may be applied for the first 'n' periods after which the price reverts to a standard price list's.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.recurringPrice
PriceData.recurringPeriodType
PriceData.recurringPeriodFrequency
-
recurringPeriodType
String recurringPeriodType
The period type for the recurring price, e.g. DAY, MONTH, YEAR.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.recurringPrice
PriceData.recurringPeriodFrequency
-
recurringPrice
javax.money.MonetaryAmount recurringPrice
The amount of the recurring price. Optional. RequiresPriceData.recurringPeriodFrequency
,PriceData.recurringPeriodType
,PriceData.termDurationLength
, andPriceData.termDurationType
.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
startingQuantity
Integer startingQuantity
Defines the initial quantity available for this price data before a pricing event such as a flash sale. It is set only once during creation. After that it is read-only and serves an informational purpose. -
target
com.broadleafcommerce.pricing.client.domain.PriceableTargetRef target
- See Also:
-
PriceableTargetRef
PriceableTarget
-
termDurationLength
Integer termDurationLength
The length of the pricing terms, e.g., 36 for a 36 month contract.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.recurringPrice
PriceData.termDurationType
-
termDurationType
String termDurationType
The duration type for the recurring price, e.g. DAYS, WEEKS, MONTHS, YEARS.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.recurringPrice
PriceData.termDurationLength
-
tiers
List<PriceDataTier> tiers
Defines specific pricing for minimum quantities. -
usageAmount
BigDecimal usageAmount
The unit of measure's amount for the usage price. Required forPriceData.usagePrice
. RequiresPriceData.usageUnits
.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.usagePrice
PriceData.usageUnits
-
usagePrice
javax.money.MonetaryAmount usagePrice
The amount of the usage price. Optional. RequiresPriceData.usageUnits
andPriceData.usageAmount
.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
usageUnits
String usageUnits
The type of units used for the usage price. Required forPriceData.usagePrice
.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceData.usagePrice
PriceData.usageAmount
-
-
Class com.broadleafcommerce.pricing.domain.PriceDataTier
class PriceDataTier extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTracking
information to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetails
for the parent object's entireattributes
map are compared. -
minQuantity
Integer minQuantity
The quantity that defines the minimum threshold of this tier. -
price
javax.money.MonetaryAmount price
The price for targets items when this tier is met. -
recurringPrice
javax.money.MonetaryAmount recurringPrice
The amount of the recurring price. Optional.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
usagePrice
javax.money.MonetaryAmount usagePrice
The amount of the usage price. Optional.- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
-
-
Class com.broadleafcommerce.pricing.domain.PriceDataUsageDetail
class PriceDataUsageDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTracking
information to expose the context state for this object. -
customerReferenceId
String customerReferenceId
The ID of the customer this audit is for. -
customerReferenceType
String customerReferenceType
The customer type this audit is for, for example "CUSTOMER". -
id
String id
The context ID of the PriceData Usage Detail. -
priceDataId
String priceDataId
The ID of the priceData this audit is for. -
revertible
boolean revertible
The revertible flag, if true indicates that this record is eligible for rolling back by PricingDetailTimeoutRollbackJobListener job -
transactionReferenceId
String transactionReferenceId
The ID of the transaction this audit is for, for example cartId, orderId -
transactionReferenceType
String transactionReferenceType
The transaction type this audit is for, for example "BLC_CART". -
usageDate
Instant usageDate
The usage date for this audit. -
usageQuantity
Integer usageQuantity
The quantity usage detail of this priceData
-
-
Class com.broadleafcommerce.pricing.domain.PriceList
class PriceList extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
Defines the ending time for which this price list is active -
activeStartDate
Instant activeStartDate
Defines the beginning time for which this price list is active. -
allowVendorsToAddPriceData
boolean allowVendorsToAddPriceData
A flag determining whether vendors are allowed to view this price list or add vendor price data to it. This is most relevant to price lists which are themselves not in a vendor but want to control whether vendors can contribute to them. -
contextState
com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
A subset ofTracking
information to expose the context state for this object. -
currency
javax.money.CurrencyUnit currency
The currency to which this price list applies. -
id
String id
-
modifiableFields
Set<String> modifiableFields
Fields that modifiers can modify for this price list.
Modifiable fields for each type:
- Standard Price Lists:
-
Sale Price Lists:
PriceableFieldProperties.basePrice
PriceableFieldProperties.baseCost
- Standard Price List price (standardPrice)
-
Contract Price Lists:
PriceableFieldProperties.basePrice
PriceableFieldProperties.baseCost
- Standard Price List price (standardPrice)
- Sale Price List price (salePrice)
-
name
String name
-
priceContextCriteria
String priceContextCriteria
String expression used to determine whether a price list applies to aPriceContext
. This could be a string representation of aSpelExpression
, e.g.,name == 'some-name' || id == '1'
, or that of some other expression language. -
priceModifier
PriceModifier priceModifier
Optionally describes how this price list will modify existing prices. -
priority
Integer priority
When multiple price lists match aPriceContext
, the price list with the higher priority wins out, where smaller integer values represent higher priorities. Nulls are implicitly given lower precedence than any other value - they will appear last. -
storeRef
String storeRef
Key to external system indicating that this PriceList is specific to a store. This can be populated to support security controls based on a store based claim. -
type
String type
- See Also:
-
useModifier
boolean useModifier
Whether this price list uses a price modifier instead of price data -
userTargets
Set<UserTarget> userTargets
Specific users that this price list targets. Expects an ID and a type of user. This could include such types as "customer" or "account". -
vendorRef
String vendorRef
Key to external system indicating that this PriceList is specific to a vendor. This can be populated to support security controls based on a vendor based claim.
-
-
Class com.broadleafcommerce.pricing.domain.PriceListPriceDetail
class PriceListPriceDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
Defines the ending time for which this price is active -
activeStartDate
Instant activeStartDate
Defines the beginning time for which this price is active. -
availableQuantity
Integer availableQuantity
Defines the actual quantity available of a product as the sale progresses. Initially it is set equal to thestartingQuantity
and is deducted as and when it gets used. -
price
javax.money.MonetaryAmount price
Price determined from aPriceList.getPriceModifier()
orPriceData.getPrice()
for a particular list.- See Also:
-
PriceDetailComparable.getPrice()
-
priceDataId
String priceDataId
Id of the specific PriceData that this price came from.Only applicable if the
PriceListPriceDetail.priceSource
isDefaultPriceListPriceSources.BLC_PRICE_LIST_PRICE_DATA
. -
priceListPriority
Integer priceListPriority
- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceDetailComparable.getPriceListPriority()
-
priceSource
String priceSource
The source of this price within the price list, e.g. price list formula, price list price data, etc.- See Also:
-
DefaultPriceListPriceSources
-
priority
Integer priority
- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceDetailComparable.getPriority()
-
recurringPriceDetail
com.broadleafcommerce.pricing.client.domain.RecurringPriceDetail recurringPriceDetail
- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceDetailComparable.getRecurringPriceDetail()
-
startingQuantity
Integer startingQuantity
Defines the initial quantity available for this price data before a pricing event such as a flash sale. It only serves an informational purpose. -
usagePriceDetail
com.broadleafcommerce.pricing.client.domain.UsagePriceDetail usagePriceDetail
- Since:
- Pricing Service 2.1.0, Release Train 2.2.0
- See Also:
-
PriceDetailComparable.getUsagePriceDetail()
-
-
Class com.broadleafcommerce.pricing.domain.PriceModifier
class PriceModifier extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
amount
BigDecimal amount
The amount by which we are modifying the target -
criteria
String criteria
String representation of an expression to determine whether this modifier applies to aPriceableTarget
. -
fieldToModify
String fieldToModify
Name of field to modify. This must match a map key inPriceableTarget.priceableFields
.- See Also:
-
modificationType
String modificationType
Type of modification to perform: Addition, Subtraction, Multiplication, Percentage, etc.- See Also:
-
-
Class com.broadleafcommerce.pricing.domain.PriceSummary
class PriceSummary extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
activeEndDate
Instant activeEndDate
Defines the ending time for which this price is active -
activeStartDate
Instant activeStartDate
Defines the beginning time for which this price is active. -
availableQuantity
Integer availableQuantity
The available quantity that can use this price data. This is used for events such as a flash sale where the sale price is limited to a certain amount of quantity. -
price
javax.money.MonetaryAmount price
The one-time price. This is typically used during checkout. -
priceDataId
String priceDataId
Id of the specific PriceData that this price came from.Only applicable if the price was from a PriceData.
-
priority
Integer priority
The relative priority of this price detail vs others that might apply to the same target. -
recurringPriceDetail
com.broadleafcommerce.pricing.client.domain.RecurringPriceDetail recurringPriceDetail
Represents the details related to a recurring (or subscription) price include the terms. -
startingQuantity
Integer startingQuantity
Defines the initial quantity available for this price data before a pricing event such as a flash sale. It only serves an informational purpose. -
usagePriceDetail
com.broadleafcommerce.pricing.client.domain.UsagePriceDetail usagePriceDetail
Represents the details related to a usage price including the units.
-
-
Class com.broadleafcommerce.pricing.domain.UserTarget
class UserTarget extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
contextState
com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState
A subset ofTracking
information to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when theChangeDetails
for the parent object's entireattributes
map are compared. -
targetType
String targetType
This could be "customer", "account", etc. -
targetValue
String targetValue
-
-
-
Package com.broadleafcommerce.pricing.exception
-
Exception com.broadleafcommerce.pricing.exception.ProviderApiException
class ProviderApiException extends RuntimeException implements Serializable-
Serialized Fields
-
receivedException
org.springframework.web.reactive.function.client.WebClientResponseException receivedException
The received error.
-
-
-
-
Package com.broadleafcommerce.pricing.provider.jpa.datafeed
-
Class com.broadleafcommerce.pricing.provider.jpa.datafeed.IncrementalDataFeedEntityUpdateEvent
class IncrementalDataFeedEntityUpdateEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
-
Package com.broadleafcommerce.pricing.provider.jpa.domain
-
Class com.broadleafcommerce.pricing.provider.jpa.domain.JpaPriceData
class JpaPriceData extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
_id
String _id
-
activeEndDate
Instant activeEndDate
- See Also:
-
activeStartDate
Instant activeStartDate
- See Also:
-
attributes
String attributes
A few special measures have been taken in the interest of making this column queryable.
Firstly, regarding column size: Oracle's VARCHAR maxes out at a conservative 4000 bytes. Thus, we set the length limit to 4000, which results in a changeset that looks like VARCHAR(4000 CHAR). When using a multi-byte character set (ex: AL32UTF8), the actual length limit may not be 4000 characters and may instead be 1000 characters if using 4 byte characters. However, in practice, multi-byte character sets are variable-width and therefore in most cases each character will continue to only use 1 byte. See this post for more details.
Regarding RSQL filtration support: This is really a
Map
withString
keys andObject
values and is serialized to a JSON string for persistence. In order to allow RSQL filters to target this field as aString
, we need to keep its Java type as such to pass Hibernate type consistency validations (Hibernate will otherwise require the filtration parameter to also be aMap
, for example). As a result, rather than usingConvert
with anAttributeConverter
to hook into automatic conversion mechanisms, we keep the field as aString
and explicitly implement getters and setters and mapping logic to convert between theMap
structure and theString
representation. -
availableQuantity
Integer availableQuantity
- See Also:
-
characteristics
Map<String,
String> characteristics -
contextId
String contextId
- See Also:
-
Trackable.getContextId()
-
currency
javax.money.CurrencyUnit currency
Transient property that holds the parent price list currency in order to convert price to a MonetaryAmount. -
description
String description
- See Also:
-
name
String name
- See Also:
-
price
BigDecimal price
- See Also:
-
priceListId
String priceListId
- See Also:
-
priceListName
String priceListName
- See Also:
-
priority
Integer priority
- See Also:
-
recurringPeriodFrequency
Integer recurringPeriodFrequency
- See Also:
-
recurringPeriodLimit
Integer recurringPeriodLimit
- See Also:
-
recurringPeriodType
String recurringPeriodType
- See Also:
-
recurringPrice
BigDecimal recurringPrice
- See Also:
-
startingQuantity
Integer startingQuantity
- See Also:
-
targetContextId
String targetContextId
-
targetType
String targetType
- See Also:
-
PriceableTarget.getTargetType()
-
targetVendorRef
String targetVendorRef
-
termDurationLength
Integer termDurationLength
- See Also:
-
termDurationType
String termDurationType
- See Also:
-
tiers
List<JpaPriceDataTier> tiers
- See Also:
-
tracking
com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
- See Also:
-
ApplicationJpaTracking
-
usageAmount
BigDecimal usageAmount
- See Also:
-
usagePrice
BigDecimal usagePrice
- See Also:
-
usageUnits
String usageUnits
- See Also:
-
-
Class com.broadleafcommerce.pricing.provider.jpa.domain.JpaPriceDataTier
class JpaPriceDataTier extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
currency
javax.money.CurrencyUnit currency
Transient property that holds the parent price list currency in order to convert price to a MonetaryAmount. -
minQuantity
Integer minQuantity
-
price
BigDecimal price
-
recurringPrice
BigDecimal recurringPrice
-
usagePrice
BigDecimal usagePrice
-
-
Class com.broadleafcommerce.pricing.provider.jpa.domain.JpaPriceDataUsageDetail
class JpaPriceDataUsageDetail extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
archivalReason
String archivalReason
-
contextId
String contextId
-
customerReferenceId
String customerReferenceId
-
customerReferenceType
String customerReferenceType
-
priceDataId
String priceDataId
- See Also:
-
revertible
boolean revertible
- See Also:
-
tracking
com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
-
transactionReferenceId
String transactionReferenceId
-
transactionReferenceType
String transactionReferenceType
-
usageDate
Instant usageDate
- See Also:
-
usageQuantity
Integer usageQuantity
- See Also:
-
-
Class com.broadleafcommerce.pricing.provider.jpa.domain.JpaPriceList
class JpaPriceList extends Object implements Serializable- serialVersionUID:
- 2L
-
Serialized Fields
-
_id
String _id
-
activeEndDate
Instant activeEndDate
- See Also:
-
activeStartDate
Instant activeStartDate
- See Also:
-
allowVendorsToAddPriceData
boolean allowVendorsToAddPriceData
- See Also:
-
contextId
String contextId
- See Also:
-
Trackable.getContextId()
-
currency
javax.money.CurrencyUnit currency
- See Also:
-
fieldToModify
String fieldToModify
- See Also:
-
modificationAmount
BigDecimal modificationAmount
- See Also:
-
modificationCriteria
String modificationCriteria
- See Also:
-
modificationType
String modificationType
- See Also:
-
name
String name
- See Also:
-
priceContextCriteria
String priceContextCriteria
- See Also:
-
priority
Integer priority
- See Also:
-
tracking
com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
- See Also:
-
ApplicationJpaTracking
-
type
String type
- See Also:
-
useModifier
boolean useModifier
- See Also:
-
userTargets
Set<JpaPriceUserTarget> userTargets
- See Also:
-
useTargets
boolean useTargets
Column that is automatically set to true or false based on the existence of user targets. This helps to optimize performance for sites that create a lot of user targeted price lists.- See Also:
-
vendorRef
String vendorRef
- See Also:
-
-
Class com.broadleafcommerce.pricing.provider.jpa.domain.JpaPriceUserTarget
class JpaPriceUserTarget extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
priceList
JpaPriceList priceList
-
targetType
String targetType
-
targetValue
String targetValue
-
-
Class com.broadleafcommerce.pricing.provider.jpa.domain.JpaPriceUserTargetId
class JpaPriceUserTargetId extends Object implements Serializable- serialVersionUID:
- 1L
-
-
Package com.broadleafcommerce.pricing.service
-
Class com.broadleafcommerce.pricing.service.PriceDetailComparator
class PriceDetailComparator extends Object implements Serializable
-
-
Package com.broadleafcommerce.pricing.service.messaging.ordercreated
-
Class com.broadleafcommerce.pricing.service.messaging.ordercreated.PricingOrderCreatedEvent
class PricingOrderCreatedEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfo
derived from the original request containing tenant and sandbox info. -
links
Map<String,
PricingOrderCreatedEventListener.OrderLink> links The links that can be used to read an additional data for the event if needed. These links are meant used instead ofPricingOrderCreatedEvent.getOrder()
&#getFulfillments()
to reduce the message payload size, esp. for large orders. -
order
Order order
Deprecated.The order object that was created.
-
-
-
Package com.broadleafcommerce.pricing.service.messaging.rollback
-
Class com.broadleafcommerce.pricing.service.messaging.rollback.CheckoutRollbackEvent
class CheckoutRollbackEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
cartId
String cartId
The id of the cart that was submitted for checkout -
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
TheContextInfo
derived from the original request containing tenant and sandbox info. -
failureType
String failureType
The failureType indicating the cause of rollback
-
-
Class com.broadleafcommerce.pricing.service.messaging.rollback.FulfillmentStatusChangeEvent
class FulfillmentStatusChangeEvent extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
contextInfo
com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
The context info -
fulfillment
FulfillmentStatusChangeEvent.OrderFulfillment fulfillment
The fulfillment that was cancelled -
order
FulfillmentStatusChangeEvent.Order order
The order which the fulfillment came from.
-
-
PricingOrderCreatedEvent.links
map.