Class SpecificItemChoice
java.lang.Object
com.broadleafcommerce.subscriptionoperation.domain.SpecificItemChoice
- All Implemented Interfaces:
Serializable
When a
ItemChoice is determined to be a
DefaultItemChoiceTargetType#SPECIFIC_PRODUCTS or
DefaultItemChoiceTargetType#SPECIFIC_VARIANTS, this holds the relationship that the
customer should select from- Author:
- Phillip Verheyden (phillipuniverse)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanWhen displaying this choice to a customer, an optional override for the display the customer should see.System-wide unique identifier to configure specific pricing for the choice.If thetypeisDefaultSpecificItemChoiceType.PRODUCTthis holds the product for this choicegetType()Whether or not this item holds a product or a variant that the customer can select fromIf thetypeisDefaultSpecificItemChoiceType.VARIANTthis holds the variant for this choiceThis field contains the id of the parent product of the specifiedvariantif thetypeisDefaultSpecificItemChoiceType.VARIANT.inthashCode()booleanDictates whether or not discounts are allowed to be applied to this add-on.voidsetDiscountAllowed(boolean discountAllowed) Dictates whether or not discounts are allowed to be applied to this add-on.voidsetNameOverride(String nameOverride) When displaying this choice to a customer, an optional override for the display the customer should see.voidsetPricingKey(String pricingKey) System-wide unique identifier to configure specific pricing for the choice.voidsetProduct(Product product) If thetypeisDefaultSpecificItemChoiceType.PRODUCTthis holds the product for this choicevoidWhether or not this item holds a product or a variant that the customer can select fromvoidsetVariant(Variant variant) If thetypeisDefaultSpecificItemChoiceType.VARIANTthis holds the variant for this choicevoidsetVariantParentProductId(String variantParentProductId) This field contains the id of the parent product of the specifiedvariantif thetypeisDefaultSpecificItemChoiceType.VARIANT.toString()
-
Constructor Details
-
SpecificItemChoice
public SpecificItemChoice()
-
-
Method Details
-
getType
Whether or not this item holds a product or a variant that the customer can select from- Returns:
- the type of this addon item
- See Also:
-
getProduct
If thetypeisDefaultSpecificItemChoiceType.PRODUCTthis holds the product for this choice- Returns:
- the product representing this choice, or null if
typeis notDefaultSpecificItemChoiceType.PRODUCT
-
getVariant
If thetypeisDefaultSpecificItemChoiceType.VARIANTthis holds the variant for this choice- Returns:
- the variant representing this choice, or null if
typeis notDefaultSpecificItemChoiceType.VARIANT - See Also:
-
variantParentProductId
-
getVariantParentProductId
This field contains the id of the parent product of the specifiedvariantif thetypeisDefaultSpecificItemChoiceType.VARIANT.This field is necessary because variants are a sub-resource of product and thus API callers cannot fetch them purely by variant id alone.
- Returns:
- the id of the parent product of the
variant - See Also:
-
variant
-
getNameOverride
When displaying this choice to a customer, an optional override for the display the customer should see. If {@link null}, the product or variant name is used for display- Returns:
- the override of the display of the name to the customer. If null, the variant or product name should be used
-
isDiscountAllowed
public boolean isDiscountAllowed()Dictates whether or not discounts are allowed to be applied to this add-on.- Returns:
- true if discounts are allowed to be applied to this add-on, false otherwise
-
getPricingKey
System-wide unique identifier to configure specific pricing for the choice. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services. Only relevant whenItemChoice.getOverridePrice()is null.- Returns:
- a unique key to identify this choice, null if there is no external system this should be linked to for pricing data
-
setType
Whether or not this item holds a product or a variant that the customer can select from- Parameters:
type- the type of item this is, usually fromDefaultSpecificItemChoiceType- See Also:
-
setProduct
If thetypeisDefaultSpecificItemChoiceType.PRODUCTthis holds the product for this choice- Parameters:
product- the product representing this choice
-
setVariant
If thetypeisDefaultSpecificItemChoiceType.VARIANTthis holds the variant for this choice- Parameters:
variant- the variant representing this choice- See Also:
-
variantParentProductId
-
setVariantParentProductId
This field contains the id of the parent product of the specifiedvariantif thetypeisDefaultSpecificItemChoiceType.VARIANT.This field is necessary because variants are a sub-resource of product and thus API callers cannot fetch them purely by variant id alone.
- Parameters:
variantParentProductId- the id of the parent product of thevariant- See Also:
-
variant
-
setNameOverride
When displaying this choice to a customer, an optional override for the display the customer should see. If {@link null}, the product or variant name is used for display- Parameters:
nameOverride- what the customer should see for this choice
-
setDiscountAllowed
public void setDiscountAllowed(boolean discountAllowed) Dictates whether or not discounts are allowed to be applied to this add-on.- Parameters:
discountAllowed- true if discounts are allowed to be applied to this add-on, false otherwise
-
setPricingKey
System-wide unique identifier to configure specific pricing for the choice. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services. Only relevant whenItemChoice.getOverridePrice()is null.- Parameters:
pricingKey- a unique key to identify this choice (usually a UUID)
-
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-