Package | Description |
---|---|
com.neurosys.ecom.strategy.service | |
com.neurosys.ecom.user.service.jaxrs |
Modifier and Type | Interface and Description |
---|---|
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 |
Modifier and Type | Field and Description |
---|---|
protected CumulativeChargeStrategy<P,U> |
DefaultOrderStrategy.discountStrategy |
protected CumulativeChargeStrategy<P,U> |
DefaultOrderStrategy.packagingStrategy |
protected CumulativeChargeStrategy<P,U> |
DefaultOrderStrategy.shippingStrategy |
Modifier and Type | Method and Description |
---|---|
CumulativeChargeStrategy<P,U> |
DefaultOrderStrategy.getDiscountStrategy() |
CumulativeChargeStrategy<P,U> |
DefaultOrderStrategy.getPackagingStrategy() |
CumulativeChargeStrategy<P,U> |
DefaultOrderStrategy.getShippingStrategy() |
Modifier and Type | Method and Description |
---|---|
void |
DefaultOrderStrategy.setDiscountStrategy(CumulativeChargeStrategy<P,U> discountStrategy) |
void |
DefaultOrderStrategy.setPackagingStrategy(CumulativeChargeStrategy<P,U> packagingStrategy) |
void |
DefaultOrderStrategy.setShippingStrategy(CumulativeChargeStrategy<P,U> shippingStrategy) |
Modifier and Type | Method and Description |
---|---|
CumulativeChargeStrategy |
StrategiesService.getPackagingStrategy() |
CumulativeChargeStrategy |
StrategiesService.getShippingStrategy() |
CumulativeChargeStrategy |
StrategiesService.getTaxStrategy() |
Modifier and Type | Method and Description |
---|---|
void |
StrategiesService.setPackagingStrategy(CumulativeChargeStrategy packagingStrategy) |
void |
StrategiesService.setShippingStrategy(CumulativeChargeStrategy shippingStrategy) |
void |
StrategiesService.setTaxStrategy(CumulativeChargeStrategy taxStrategy) |
Copyright © 2018. All rights reserved.