Package | Description |
---|---|
com.neurosys.ecom.strategy.service |
Modifier and Type | Interface and Description |
---|---|
interface |
CumulativeChargeStrategy<P extends Product,U extends User>
Using rules to calculate data where the result may requires Cumulative analysis of all Products and not just on a per product
|
interface |
OrderStrategy<P extends Product,U extends IGenericEcomUser,O extends Order<? extends I>,I extends OrderItem>
Strategy for Order |
interface |
PromotionStrategy<P extends Product,U extends User>
What are the possible payment options for an
Order
Note: Because Promotions are linked to users being eligible, this Strategies methods may throw ValidationException that should be explicitly handled. |
interface |
SaleStrategy<P extends Product,U extends User>
Strategies to sell/price a product etc based on User Details and Product
|
interface |
TaxStrategy<P extends Product,U extends User>
Tax Strategy
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractChargeStrategy<P extends Product,U extends User>
Default Strategy implementation for all
ChargeStrategy |
class |
DefaultDiscountStrategy<P extends Product,U extends User>
Calculate Any Discounts on Order; default impl there is no discount (all methods return null)
When discount is applied, then Amount.getDiscount() should be a positive value, and the same amount should be negative in Amount.getTotal()
so that Amount.add(Amount) of discount value results in proper calculation. |
class |
DefaultOrderStrategy<P extends Product,U extends IGenericEcomUser,O extends Order<I>,I extends OrderItem>
Allow amalgamation of other strategies to a List of Products that constitute an Order
and produce a Persistent Order
|
class |
DefaultPackagingStrategy<P extends Product,U extends User>
Calculate Packaging cost; default impl expects packagingData attribute/field to contain the value as a number
Costs per unit are simple multiplied by Quantity |
class |
DefaultPromotionStrategy<P extends Product,U extends IGenericEcomUser>
PromotionStrategy for this applicationThis default impl assumes a context of Object[0] = email, Object[1] = couponCode |
class |
DefaultSaleStrategy<P extends Product,U extends User>
By Default simple process the data coming and spit it back out.
|
class |
DefaultShippingStrategy<P extends Product,U extends User>
Calculate Tax; default impl expects shippingData to contain the value as a number
Costs per unit are simple multiplied by Quantity |
class |
DefaultSubOrderStrategy<P extends Product,U extends IGenericEcomUser,O extends SubOrder<O,I>,I extends OrderItem>
Extension to
DefaultOrderStrategy to support additional SubOrder specific common cases. |
class |
DefaultTaxStrategy<P extends Product,U extends User>
Calculate Tax; default impl expects taxData attribute/field to contain the value as % of basePrice
Costs per unit are simple multiplied by Quantity Default tax calculation = (Total Amount * tax%) / 100 |
Copyright © 2018. All rights reserved.