public class DefaultChoiceOfFreeGiftAdjustment extends java.lang.Object implements ChoiceOfFreeGiftAdjustment
FreeGiftSpecification
to define the Adjustment rule of a Choice
Of Free Gift promotion . Optionally, a default FreeGiftChoice selection can
be defined as well. XML Snippet for this Adjustment:
<p> <Adjustment impl="com.ibm.commerce.marketing.promotion.reward.DefaultChoiceOfFreeGiftAdjustment"> <RewardSpecification impl="com.ibm.commerce.marketing.promotion.choice.gift.FreeGiftSpecification"> <MaxQuantity>3</MaxQuantity> <GiftItem impl="com.ibm.commerce.marketing.promotion.choice.gift.CatalogEntryGiftItem"> <Quantity>3</Quantity> <CatalogEntryKey> <SKU>SKU-20101099</SKU> <DN>o=Root Organization</DN> </CatalogEntryKey> </GiftItem> </RewardSpecification> <RewardChoice impl="com.ibm.commerce.marketing.promotion.choice.gift.FreeGiftChoice"> <GiftItem impl="com.ibm.commerce.marketing.promotion.choice.gift.CatalogEntryGiftItem"> <Quantity>1</Quantity> <CatalogEntryKey> <SKU>SKU-20101099</SKU> <DN>o=Root Organization</DN> </CatalogEntryKey> </GiftItem> </RewardChoice> <AdjustmentType>AllAffectedItems</AdjustmentType> </Adjustment> </p>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ATTRIBUTE_NAME_IMPL
XML attribute name - impl
|
static java.lang.String |
COPYRIGHT
IBM Copyright notice field.
|
static java.lang.String |
TAG_ADJUSTMENT
XML tag - Adjustment
|
static java.lang.String |
TAG_ADJUSTMENT_TYPE
XML Tag names
|
ALL_AFFECTED_ITEMS, INDIVIDUAL_AFFECTED_ITEMS, WHOLE_ORDER
Constructor and Description |
---|
DefaultChoiceOfFreeGiftAdjustment() |
Modifier and Type | Method and Description |
---|---|
boolean |
apply(LineItemSet targeted,
java.math.BigDecimal targetedAmount,
int targetedAmountTypes,
LineItemSet affected,
java.util.Vector affectedVector,
java.util.Vector adjustmentVector,
PromotionContext context)
This method evaluates the targeted order items to see if they fulfill the
conditions of this adjustment ( for example, if the quantity of the order
items falls into one of the ranges of the adjustment).
|
boolean |
applyChoice(FreeGiftChoice aFreeGiftChoice,
java.util.Vector affectedVector,
java.util.Vector adjustmentVector)
Applies the free gift choice to the promotion.
|
void |
applyNewRewardOption(PromotionContext context)
Creates a new RewardOption object.
|
java.lang.Object |
clone() |
void |
fromXML(org.w3c.dom.Node anXMLNode)
Transforms the XML node into its corresponding real Object.
|
java.lang.Integer |
getAdjustmentType()
This implementation always return value 2 as "AllAffectedItems".
|
RewardChoice |
getDefaultRewardChoice()
Gets the optional default reward choice.
|
RewardSpecification |
getRewardSpecification()
Gets the RewardSpecification object.
|
void |
setAdjustmentType(java.lang.Integer aAdjustmentType)
This method sets the type of Adjustment.
|
void |
setFreeGiftChoice(FreeGiftChoice aFreeGiftChoice)
Sets the FreeGiftChoice object as the default RewardChoice.
|
void |
setRewardSpecification(FreeGiftSpecification aFreeGiftSpecification)
Sets the FreeGiftSpecification object.
|
java.lang.String |
toXML()
Converts the object into its corresponding XML format representation.
|
public static final java.lang.String COPYRIGHT
public static final java.lang.String TAG_ADJUSTMENT_TYPE
public static final java.lang.String TAG_ADJUSTMENT
public static final java.lang.String ATTRIBUTE_NAME_IMPL
public void applyNewRewardOption(PromotionContext context)
context
- The promotion context.public boolean applyChoice(FreeGiftChoice aFreeGiftChoice, java.util.Vector affectedVector, java.util.Vector adjustmentVector)
aFreeGiftChoice
- The FreeGiftChoice object.affectedVector
- The Vector of affected item set.adjustmentVector
- The vector of Adjustment.public boolean apply(LineItemSet targeted, java.math.BigDecimal targetedAmount, int targetedAmountTypes, LineItemSet affected, java.util.Vector affectedVector, java.util.Vector adjustmentVector, PromotionContext context) throws PromotionRuntimeException
Adjustment
adjustmentVector
Vector object passed as a parameter. The
affectedVector
Vector object passed as a parameter is
updated by adding the affected order items. This method is called in the
invoke(LineItemSet, BigDecimal, int, Vector, Vector, PromotionContext)
method of AdjustmentFunction
.apply
in interface Adjustment
targeted
- The targeted order items. This is a set of order items (or
portions of order items) that are used to qualify for the
promotion of which this adjustment is a part.affected
- The affected order items. This is a set of order items,
identified by the promotion, to which this adjustment will be
attached.affectedVector
- A Vector which contains the affected LineItemSets.adjustmentVector
- A Vector which contains the Adjustment objects.context
- The PromotionContext
object which may be used to build
the Adjustment to add to the adjustmentVector parameter.PromotionRuntimeException
- when the computation encounters a problem.Adjustment.apply(com.ibm.commerce.marketing.promotion.runtime.LineItemSet,
java.math.BigDecimal, int,
com.ibm.commerce.marketing.promotion.runtime.LineItemSet,
java.util.Vector, java.util.Vector,
com.ibm.commerce.marketing.promotion.runtime.PromotionContext)
public java.lang.Integer getAdjustmentType()
getAdjustmentType
in interface Adjustment
WHOLE_ORDER
, ALL_AFFECTED_ITEMS
or INDIVIDUAL_AFFECTED_ITEMS
.Adjustment.getAdjustmentType()
public void setAdjustmentType(java.lang.Integer aAdjustmentType)
Adjustment
WHOLE_ORDER
, ALL_AFFECTED_ITEMS
or INDIVIDUAL_AFFECTED_ITEMS
.setAdjustmentType
in interface Adjustment
Adjustment.setAdjustmentType(java.lang.Integer)
public void fromXML(org.w3c.dom.Node anXMLNode) throws DeXMLizationException
XMLizable
fromXML
in interface XMLizable
anXMLNode
- The node that represents an XMLizable objectDeXMLizationException
- when this process failsXMLizable.fromXML(org.w3c.dom.Node)
public java.lang.String toXML() throws XMLizationException
XMLizable
toXML
in interface XMLizable
XMLizationException
- when this process failsXMLizable.toXML()
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in interface Adjustment
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
Object.clone()
public RewardSpecification getRewardSpecification()
getRewardSpecification
in interface ChoiceOfRewardAdjustment
ChoiceOfRewardAdjustment.getRewardSpecification()
public void setRewardSpecification(FreeGiftSpecification aFreeGiftSpecification)
aFreeGiftSpecification
- The FreeGiftSpecification to set.public RewardChoice getDefaultRewardChoice()
ChoiceOfRewardAdjustment
getDefaultRewardChoice
in interface ChoiceOfRewardAdjustment
ChoiceOfRewardAdjustment.getDefaultRewardChoice()
public void setFreeGiftChoice(FreeGiftChoice aFreeGiftChoice)
aFreeGiftChoice
- The FreeGiftChoice object to set.