Class MarketingMessage
- java.lang.Object
-
- com.broadleafcommerce.promotion.offer.domain.MarketingMessage
-
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.ContextStateAware,Serializable,Comparable<MarketingMessage>
public class MarketingMessage extends Object implements Serializable, Comparable<MarketingMessage>, com.broadleafcommerce.data.tracking.core.ContextStateAware
A MarketingMessage encapsulates information necessary for displaying a marketing message related to an
Offernext to items affected by the offer in different contexts.This includes such info as:
- the
target type,- whether the message should appear with items targeted by its parent offer
- with items that qualify orders or other items to receive its parent offer
- or with either kind of item.
- the
location types,- whether the message should appear on product detail pages,
- browse pages,
- cart pages,
- or everywhere.
startandenddates,- and the priority of each message relative to any others applicable to the same context—lower integer value means higher priority.
- Author:
- Nathan Moore (nathanmoore).
- See Also:
ItemMarketingMessageRequest, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MarketingMessage()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected booleancanEqual(Object other)intcompareTo(MarketingMessage that)Orders bypriority.booleanequals(Object o)InstantgetActiveEndDate()Defines the ending time for which this message is activeInstantgetActiveStartDate()Defines the beginning time for which this message is activecom.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextStategetContextState()A subset ofTrackinginformation to expose the context state for this object.StringgetDisplayHint()Defines a hint to the client on how to display this messageStringgetId()LocalegetLocale()Deprecated.since 1.6 use translations for different localesStringgetLocationType()Deprecated.since 1.6 functionality moved tolocationTypes.List<String>getLocationTypes()Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.javax.money.MonetaryAmountgetMaxCartSubtotal()The maximum cart subtotal to display this message.javax.money.MonetaryAmountgetMinCartSubtotal()The minimum cart subtotal to display this message.StringgetOfferId()Id of the parentOffer.IntegergetPriority()When multiple messages match a context, the message with the higher priority wins out, where smaller integer values represent higher priorities.StringgetTargetType()Determines whether this message should appear only next to itsoffer'stargets or qualifiers or next to both.StringgetText()The actual text of the message to display.inthashCode()booleanisShowIfOfferApplied()Determines whether the message should be show to the customer if the associated offer is already applied to the cart.booleanisUseCartSubtotal()Determines whether the message should be show based on the current subtotal of the customer's cart.voidsetActiveEndDate(Instant activeEndDate)Defines the ending time for which this message is activevoidsetActiveStartDate(Instant activeStartDate)Defines the beginning time for which this message is activevoidsetContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState)A subset ofTrackinginformation to expose the context state for this object.voidsetDisplayHint(String displayHint)Defines a hint to the client on how to display this messagevoidsetId(String id)voidsetLocale(Locale locale)Deprecated.since 1.6 use translations for different localesvoidsetLocationType(String locationType)Deprecated.since 1.6 functionality moved tolocationTypes.voidsetLocationTypes(List<String> locationTypes)Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.voidsetMaxCartSubtotal(javax.money.MonetaryAmount maxCartSubtotal)The maximum cart subtotal to display this message.voidsetMinCartSubtotal(javax.money.MonetaryAmount minCartSubtotal)The minimum cart subtotal to display this message.voidsetOfferId(String offerId)Id of the parentOffer.voidsetPriority(Integer priority)When multiple messages match a context, the message with the higher priority wins out, where smaller integer values represent higher priorities.voidsetShowIfOfferApplied(boolean showIfOfferApplied)Determines whether the message should be show to the customer if the associated offer is already applied to the cart.voidsetTargetType(String targetType)Determines whether this message should appear only next to itsoffer'stargets or qualifiers or next to both.voidsetText(String text)The actual text of the message to display.voidsetUseCartSubtotal(boolean useCartSubtotal)Determines whether the message should be show based on the current subtotal of the customer's cart.StringtoString()
-
-
-
Method Detail
-
compareTo
public int compareTo(@NonNull MarketingMessage that)Orders bypriority. Nulls are sorted last.- Specified by:
compareToin interfaceComparable<MarketingMessage>- Parameters:
that- another marketing message to whose display order this will be compared- Returns:
- an integer representing whether this item has a greater, less, or equal priority than the other
-
getId
public String getId()
-
getText
public String getText()
The actual text of the message to display.- Returns:
- The text of the message to display.
-
getPriority
public Integer getPriority()
When multiple messages match a context, the message 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.- Returns:
- The priority of this message
- See Also:
compareTo(MarketingMessage)
-
getTargetType
public String getTargetType()
Determines whether this message should appear only next to itsoffer'stargets or qualifiers or next to both.- Returns:
- the target type of this message
- See Also:
MarketingMessageTargetType
-
getLocationType
@Deprecated public String getLocationType()
Deprecated.since 1.6 functionality moved tolocationTypes.Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.- Returns:
- the location type in which this message can appear
- See Also:
MarketingMessageLocationType
-
getLocationTypes
public List<String> getLocationTypes()
Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.- Returns:
- the location types in which this message can appear
- See Also:
MarketingMessageLocationType
-
getLocale
@Deprecated public Locale getLocale()
Deprecated.since 1.6 use translations for different localesTheLocaleto which this message is applicable.- Returns:
- the
Localeto which this message is applicable.
-
getActiveStartDate
public Instant getActiveStartDate()
Defines the beginning time for which this message is active- Returns:
- the beginning time for which this message is active
-
getActiveEndDate
public Instant getActiveEndDate()
Defines the ending time for which this message is active- Returns:
- the ending time for which this message is active
-
getDisplayHint
public String getDisplayHint()
Defines a hint to the client on how to display this message- Returns:
- the display hint for this message
-
isShowIfOfferApplied
public boolean isShowIfOfferApplied()
Determines whether the message should be show to the customer if the associated offer is already applied to the cart.- Returns:
- whether to show the message if the offer is applied
-
isUseCartSubtotal
public boolean isUseCartSubtotal()
Determines whether the message should be show based on the current subtotal of the customer's cart.- Returns:
- whether to use the cart's subtotal to determine display
-
getMinCartSubtotal
public javax.money.MonetaryAmount getMinCartSubtotal()
The minimum cart subtotal to display this message. If this value is specified, this message will only display if the cart subtotal is equal to or greater than this value.- Returns:
- the minimum cart subtotal to display this message
-
getMaxCartSubtotal
public javax.money.MonetaryAmount getMaxCartSubtotal()
The maximum cart subtotal to display this message. If this value is specified, this message will only display if the cart subtotal is equal to or less than this value.- Returns:
- the maximum cart subtotal to display this message
-
getContextState
public com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState getContextState()
A subset ofTrackinginformation to expose the context state for this object.- Specified by:
getContextStatein interfacecom.broadleafcommerce.data.tracking.core.ContextStateAware- Returns:
- a subset of
Trackinginformation to expose the context state for this object
-
setId
public void setId(String id)
-
setOfferId
public void setOfferId(String offerId)
Id of the parentOffer.- Parameters:
offerId- Id of the parent offer
-
setText
public void setText(String text)
The actual text of the message to display.- Parameters:
text- The actual text of the message to display.
-
setPriority
public void setPriority(Integer priority)
When multiple messages match a context, the message 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.- Parameters:
priority- The priority of this message when compared to others- See Also:
compareTo(MarketingMessage)
-
setTargetType
public void setTargetType(String targetType)
Determines whether this message should appear only next to itsoffer'stargets or qualifiers or next to both.- Parameters:
targetType- the target type of this message- See Also:
MarketingMessageTargetType
-
setLocationType
@Deprecated public void setLocationType(String locationType)
Deprecated.since 1.6 functionality moved tolocationTypes.Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.- Parameters:
locationType- the location type in which this message can appear- See Also:
MarketingMessageLocationType
-
setLocationTypes
public void setLocationTypes(List<String> locationTypes)
Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.- Parameters:
locationTypes- the location types in which this message can appear- See Also:
MarketingMessageLocationType
-
setLocale
@Deprecated public void setLocale(Locale locale)
Deprecated.since 1.6 use translations for different localesTheLocaleto which this message is applicable.- Parameters:
locale- theLocaleto which this message is applicable.
-
setActiveStartDate
public void setActiveStartDate(Instant activeStartDate)
Defines the beginning time for which this message is active- Parameters:
activeStartDate- the beginning time for which this message is active
-
setActiveEndDate
public void setActiveEndDate(Instant activeEndDate)
Defines the ending time for which this message is active- Parameters:
activeEndDate- the ending time for which this message is active
-
setDisplayHint
public void setDisplayHint(String displayHint)
Defines a hint to the client on how to display this message- Parameters:
displayHint- the display hint for this message
-
setShowIfOfferApplied
public void setShowIfOfferApplied(boolean showIfOfferApplied)
Determines whether the message should be show to the customer if the associated offer is already applied to the cart.- Parameters:
showIfOfferApplied- whether to show the message if the offer is applied
-
setUseCartSubtotal
public void setUseCartSubtotal(boolean useCartSubtotal)
Determines whether the message should be show based on the current subtotal of the customer's cart.- Parameters:
useCartSubtotal- whether to use the cart's subtotal to determine display
-
setMinCartSubtotal
public void setMinCartSubtotal(javax.money.MonetaryAmount minCartSubtotal)
The minimum cart subtotal to display this message. If this value is specified, this message will only display if the cart subtotal is equal to or greater than this value.- Parameters:
minCartSubtotal- the minimum cart subtotal to display this message
-
setMaxCartSubtotal
public void setMaxCartSubtotal(javax.money.MonetaryAmount maxCartSubtotal)
The maximum cart subtotal to display this message. If this value is specified, this message will only display if the cart subtotal is equal to or less than this value.- Parameters:
maxCartSubtotal- the maximum cart subtotal to display this message
-
setContextState
public void setContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState)
A subset ofTrackinginformation to expose the context state for this object.- Specified by:
setContextStatein interfacecom.broadleafcommerce.data.tracking.core.ContextStateAware- Parameters:
contextState- a subset ofTrackinginformation to expose the context state for this object
-
canEqual
protected boolean canEqual(Object other)
-
-