|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.commerce.order.calculation.CalculationHelper
This class defines the helper methods used by the Calculation Framework.
Field Summary | |
static java.lang.String |
COPYRIGHT
|
Constructor Summary | |
protected |
CalculationHelper()
|
Method Summary | |
void |
applyCalculationUsages(OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
CommandContext commandContext)
This method is called by OrderPrepare/PrepareOrder to apply all calculation usages enabled in the store. |
void |
applyCalculationUsages(OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
java.util.Set aEnabledUsageIds,
java.util.Set aDisabledUsageIds,
CommandContext commandContext)
This method is called by OrderPrepare/PrepareOrder to apply all calculation usages enabled in the store. |
int |
compare(java.lang.Comparable[] c1,
java.lang.Comparable[] c2)
|
int |
compare(java.lang.Comparable c1,
java.lang.Comparable c2)
|
boolean |
containsAny(java.lang.Object[] a1,
java.lang.Object[] a2)
|
java.math.BigDecimal |
convertMonetaryValue(java.math.BigDecimal adValue1,
java.lang.String astrCurrency1,
java.lang.String astrCurrency2,
CommandContext commandContext)
This method converts the monetary value from one currency to another using the forward conversion rate. |
java.math.BigDecimal |
convertMonetaryValueR(java.math.BigDecimal adValue1,
java.lang.String astrCurrency1,
java.lang.String astrCurrency2,
CommandContext commandContext)
This method converts the monetary value from one currency to another using the backward conversion rate. |
java.math.BigDecimal |
convertQuantityValue(java.math.BigDecimal adValue1,
java.lang.String astrUnit1,
java.lang.String astrUnit2)
This method converts the quantity value from one unit to another. |
void |
correctZeroBoundaryCrossings(Item[] aItems,
java.math.BigDecimal[] adAdjustments,
java.lang.String astrCurrency,
CommandContext commandContext)
This method is called by DiscountCalculationCodeApply to correct discounts that cross the zero boundary. |
protected boolean |
correctZeroBoundaryCrossingsIteration(Item[] aItems,
java.math.BigDecimal[] adAdjustments)
|
java.math.BigDecimal[] |
destructiveAdd(java.math.BigDecimal[] adValues1,
java.math.BigDecimal[] adValues2)
|
java.math.BigDecimal |
divide(java.math.BigDecimal ad1,
java.math.BigDecimal ad2)
Returns ad1.divide(ad2, 20, BigDecimal.ROUND_HALF_UP). |
void |
finalizeCalculationUsages(OrderAccessBean aabOrder,
OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
CommandContext commandContext)
This method is called by OrderProcess/ProcessOrder to apply all calculation usages enabled in the store. |
void |
finalizeCalculationUsages(OrderAccessBean aabOrder,
OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
java.util.Set aEnabledUsageIds,
java.util.Set aDisabledUsageIds,
CommandContext commandContext)
This method is called by OrderProcess/ProcessOrder to apply all calculation usages enabled by the store. |
int |
findMax(java.math.BigDecimal[] e)
|
int |
findMin(java.math.BigDecimal[] e)
|
java.lang.Integer |
getCodeId(java.lang.Integer anRuleId)
|
static CalculationHelper |
getInstance()
Returns an instance of this class. |
java.lang.Long[] |
getProductAndItemIds(java.lang.Long anCatalogEntryId)
Returns the parent product of an item and the item itself. |
java.lang.Long[] |
getProductOrItemIds(java.lang.Long anCatalogEntryId)
Returns the parent product of an item. |
java.math.BigDecimal |
getQuantity(java.lang.Long anCatalogEntryId,
java.math.BigDecimal adNormalizedQuantity,
java.lang.String astrUnit)
Returns the quantity represented by the normalized quantity. |
java.math.BigDecimal |
getRoundingMultiple(java.lang.String astrCurrency,
CommandContext commandContext)
|
java.lang.Integer |
getStoreGroupId(java.lang.Integer anStoreId)
|
java.math.BigDecimal |
getTaxableAdjustmentTotal(java.lang.Long anOrderItemId,
java.lang.Integer anTaxCategoryId)
|
java.lang.Integer[] |
getTaxCategoryIds(StoreAccessBean aabStore,
java.lang.Integer anUsageId)
Returns the tax categories of a particular calculation usage: Calculation Usage Tax Categories sales tax all sales tax categories shipping tax all shipping tax categories other null |
java.math.BigDecimal |
getWeight(java.lang.Long anCatalogEntryId,
java.math.BigDecimal adNormalizedQuantity,
java.lang.String astrUnit)
Returns the weight represented by the normalized quantity. |
void |
initializeCalculationUsages(OrderAccessBean aabOrder,
OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
CommandContext commandContext)
This method is called by OrderPrepare/PrepareOrder to initialize all calculation usages enabled by the store. |
void |
initializeCalculationUsages(OrderAccessBean aabOrder,
OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
java.util.Set aEnabledUsageIds,
java.util.Set aDisabledUsageIds,
CommandContext commandContext)
This method is called by OrderPrepare/PrepareOrder to initialize all calculation usages enabled by the store. |
boolean |
isCurrentUserInMemberGroup(java.lang.Long anMemberGroupId,
CommandContext commandContext)
|
boolean |
isEffective(CalculationCodeAccessBean aabCode,
java.sql.Timestamp aTimestamp)
|
boolean |
isEffective(CalculationRuleAccessBean aabRule,
java.sql.Timestamp aTimestamp)
|
boolean |
isPublished(CalculationCodeAccessBean aabCode)
|
CalculationCodeAccessBean[] |
merge(CalculationCodeAccessBean[] aabCodes1,
CalculationCodeAccessBean[] aabCodes2)
|
java.math.BigDecimal[] |
remapValues(Item[] aItems1,
java.math.BigDecimal[] adValues1,
Item[] aItems2)
|
void |
round(java.math.BigDecimal[] a,
java.lang.String astrCurrency,
CommandContext commandContext)
|
java.math.BigDecimal |
round(java.math.BigDecimal adValue,
java.lang.String astrCurrency,
CommandContext commandContext)
|
java.math.BigDecimal[] |
spread(java.math.BigDecimal adValue,
java.math.BigDecimal[] adWeights)
|
java.math.BigDecimal |
sum(java.math.BigDecimal[] adValues)
|
void |
summarizeCalculationUsages(OrderAccessBean aabOrder,
SubOrderAccessBean[] aabSubOrders,
OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
CommandContext commandContext)
This method is called by OrderPrepare/PrepareOrder to summarize all calculation usages enabled by the store. |
void |
summarizeCalculationUsages(OrderAccessBean aabOrder,
SubOrderAccessBean[] aabSubOrders,
OrderItemAccessBean[] aabOrderItems,
java.lang.String astrCurrency,
java.util.HashMap ahshCustomProperties,
java.util.Set aEnabledUsageIds,
java.util.Set aDisabledUsageIds,
CommandContext commandContext)
This method is called by OrderPrepare/PrepareOrder to summarize all calculation usages enabled by the store. |
java.lang.String |
toString(java.lang.Object[] a)
|
SubOrderAccessBean[] |
updateSubOrders(java.lang.Long anOrderId,
OrderItemAccessBean[] aabOrderItems)
This method is called by OrderPrepare/PrepareOrder to update the suborder totals of an order. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String COPYRIGHT
Constructor Detail |
protected CalculationHelper()
Method Detail |
public void applyCalculationUsages(OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, CommandContext commandContext) throws ECException
public void applyCalculationUsages(OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, java.util.Set aEnabledUsageIds, java.util.Set aDisabledUsageIds, CommandContext commandContext) throws ECException
aEnabledUsageIds
- if not null, calculation usages not in this set will be disabledaDisabledUsageIds
- if not null, calculation usages in this set will be disabledpublic int compare(java.lang.Comparable[] c1, java.lang.Comparable[] c2)
public int compare(java.lang.Comparable c1, java.lang.Comparable c2)
public boolean containsAny(java.lang.Object[] a1, java.lang.Object[] a2)
public java.math.BigDecimal convertMonetaryValue(java.math.BigDecimal adValue1, java.lang.String astrCurrency1, java.lang.String astrCurrency2, CommandContext commandContext) throws ECException
public java.math.BigDecimal convertMonetaryValueR(java.math.BigDecimal adValue1, java.lang.String astrCurrency1, java.lang.String astrCurrency2, CommandContext commandContext) throws ECException
public java.math.BigDecimal convertQuantityValue(java.math.BigDecimal adValue1, java.lang.String astrUnit1, java.lang.String astrUnit2) throws ECException
public void correctZeroBoundaryCrossings(Item[] aItems, java.math.BigDecimal[] adAdjustments, java.lang.String astrCurrency, CommandContext commandContext) throws ECException
protected boolean correctZeroBoundaryCrossingsIteration(Item[] aItems, java.math.BigDecimal[] adAdjustments) throws ECException
public java.math.BigDecimal[] destructiveAdd(java.math.BigDecimal[] adValues1, java.math.BigDecimal[] adValues2)
public java.math.BigDecimal divide(java.math.BigDecimal ad1, java.math.BigDecimal ad2)
public void finalizeCalculationUsages(OrderAccessBean aabOrder, OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, CommandContext commandContext) throws ECException
public void finalizeCalculationUsages(OrderAccessBean aabOrder, OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, java.util.Set aEnabledUsageIds, java.util.Set aDisabledUsageIds, CommandContext commandContext) throws ECException
aEnabledUsageIds
- if not null, calculation usages not in this set will be disabledaDisabledUsageIds
- if not null, calculation usages in this set will be disabledpublic int findMax(java.math.BigDecimal[] e)
public int findMin(java.math.BigDecimal[] e)
public java.lang.Integer getCodeId(java.lang.Integer anRuleId) throws ECException
public static CalculationHelper getInstance()
public java.lang.Long[] getProductAndItemIds(java.lang.Long anCatalogEntryId) throws ECException
public java.lang.Long[] getProductOrItemIds(java.lang.Long anCatalogEntryId) throws ECException
public java.math.BigDecimal getQuantity(java.lang.Long anCatalogEntryId, java.math.BigDecimal adNormalizedQuantity, java.lang.String astrUnit) throws ECException
public java.math.BigDecimal getRoundingMultiple(java.lang.String astrCurrency, CommandContext commandContext) throws ECException
public java.lang.Integer getStoreGroupId(java.lang.Integer anStoreId) throws ECException
public java.math.BigDecimal getTaxableAdjustmentTotal(java.lang.Long anOrderItemId, java.lang.Integer anTaxCategoryId) throws ECException
public java.lang.Integer[] getTaxCategoryIds(StoreAccessBean aabStore, java.lang.Integer anUsageId) throws ECException
Calculation Usage | Tax Categories |
---|---|
sales tax | all sales tax categories |
shipping tax | all shipping tax categories |
other | null |
public java.math.BigDecimal getWeight(java.lang.Long anCatalogEntryId, java.math.BigDecimal adNormalizedQuantity, java.lang.String astrUnit) throws ECException
public void initializeCalculationUsages(OrderAccessBean aabOrder, OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, CommandContext commandContext) throws ECException
public void initializeCalculationUsages(OrderAccessBean aabOrder, OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, java.util.Set aEnabledUsageIds, java.util.Set aDisabledUsageIds, CommandContext commandContext) throws ECException
aEnabledUsageIds
- if not null, calculation usages not in this set will be disabledaDisabledUsageIds
- if not null, calculation usages in this set will be disabledpublic boolean isCurrentUserInMemberGroup(java.lang.Long anMemberGroupId, CommandContext commandContext) throws ECException
public boolean isEffective(CalculationCodeAccessBean aabCode, java.sql.Timestamp aTimestamp) throws ECException
public boolean isEffective(CalculationRuleAccessBean aabRule, java.sql.Timestamp aTimestamp) throws ECException
public boolean isPublished(CalculationCodeAccessBean aabCode) throws ECException
public CalculationCodeAccessBean[] merge(CalculationCodeAccessBean[] aabCodes1, CalculationCodeAccessBean[] aabCodes2) throws ECException
public java.math.BigDecimal[] remapValues(Item[] aItems1, java.math.BigDecimal[] adValues1, Item[] aItems2)
public void round(java.math.BigDecimal[] a, java.lang.String astrCurrency, CommandContext commandContext) throws ECException
public java.math.BigDecimal round(java.math.BigDecimal adValue, java.lang.String astrCurrency, CommandContext commandContext) throws ECException
public java.math.BigDecimal[] spread(java.math.BigDecimal adValue, java.math.BigDecimal[] adWeights) throws ECException
public java.math.BigDecimal sum(java.math.BigDecimal[] adValues)
public void summarizeCalculationUsages(OrderAccessBean aabOrder, SubOrderAccessBean[] aabSubOrders, OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, CommandContext commandContext) throws ECException
public void summarizeCalculationUsages(OrderAccessBean aabOrder, SubOrderAccessBean[] aabSubOrders, OrderItemAccessBean[] aabOrderItems, java.lang.String astrCurrency, java.util.HashMap ahshCustomProperties, java.util.Set aEnabledUsageIds, java.util.Set aDisabledUsageIds, CommandContext commandContext) throws ECException
aEnabledUsageIds
- if not null, calculation usages not in this set will be disabledaDisabledUsageIds
- if not null, calculation usages in this set will be disabledpublic java.lang.String toString(java.lang.Object[] a)
public SubOrderAccessBean[] updateSubOrders(java.lang.Long anOrderId, OrderItemAccessBean[] aabOrderItems) throws ECException
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |