com.bea.commerce.ebusiness.price.service
Interface PriceService
- public interface PriceService
- extends javax.ejb.EJBObject
A stateless session EJB used to
price Line objects based on discounts represented by
QualificationDiscountDef objects.
The Price service uses the DiscountMgmt and DiscountAssociation
services to determine what discounts are available for a given
customer and the definitions for those discounts.
The Price service works on a model where each discount may only
applied once and each quantity one (1) of a Line item may only be
used as a trigger or have its price adjusted once.
Likewise, the order or shipping cost may only be used as a trigger
or have its price adjusted once.
See the product documentation for more details.
- See Also:
QualificationDiscountDef
,
DiscountMgmt
,
DiscountAssociation
,
Line
Methods inherited from interface javax.ejb.EJBObject |
getEJBHome,
getHandle,
getPrimaryKey,
isIdentical,
remove |
computeSubtotal
public PricingReply computeSubtotal(PricingRequest request)
throws PricingException,
java.rmi.RemoteException
- This method applies a set of discounts to the collection of
Line items provided in the PricingRequest. computeSubtotal()
is intended for pricing Lines during shopping as it does not
require the CustomerPk to be set in the PricingRequest.
If the CustomerPk is set, the service will use it to determine,
through the association service, if the customer is
eligible for additional discounts.
This method requires that the base shipping be set in the
PricingRequest, failure to set the base shipping will cause
a RuntimeException to be thrown. The quote field in the
PricingReply will not be populated by this method. Use
computeTotal() if the Quote object is needed. The Line items
from the PricingRequest are added to the PricingReply prior to
this method returning. The Line items are returned in the same
order as they were submitted. Each Line item that has been
adjusted during the pricing operation will have one(1) to many
DiscountPresentations attached to it on completion.
- Parameters:
request
- request parameters for the pricing operation.- Returns:
- a populated PricingReply object.
- Throws:
- java.lang.RuntimeException - if the base shipping of the
PricingRequest is null or the Line items are invalid.
- See Also:
PricingRequest
,
PricingRequestImpl
,
PricingReply
,
Quote
,
Line
,
DiscountPresentation
,
CustomerPk
computeTotal
public PricingReply computeTotal(PricingRequest request)
throws PricingException,
java.rmi.RemoteException
- This method applies a set of discounts to the collection of
Line items provided in the PricingRequest. computeTotal()
is intended for pricing Lines for checkout as it
requires the CustomerPk to be set in the PricingRequest.
The CustomerPk is necessary to track the number of times a
particular customer has used a specific discount. If the
CustomerPk is not set this method will throw a PricingException.
This method requires that the base shipping be set in the
PricingRequest, failure to set the base shipping will cause
a RuntimeException to be thrown. The quote field in
PricingReply will be populated by this method.
The Line items from the PricingRequest are added
to the PricingReply prior to this method returning.
The Line items are returned in the same
order as they were submitted. Each Line item that has been
adjusted during the pricing operation will have one(1) to many
DiscountPresentations attached to it on completion.
- Parameters:
request
- request parameters for the pricing operation.- Returns:
- a populated PricingReply object.
- Throws:
- com.bea.commerce.ebusiness.price.PricingException - if the CustomerPk in the PricingRequest is null.
- java.lang.RuntimeException - if the base shipping of the
PricingRequest is null or the Line items are invalid.
- See Also:
PricingRequest
,
PricingRequestImpl
,
PricingReply
,
Quote
,
Line
,
DiscountPresentation
,
CustomerPk
Copyright © 2002 BEA Systems, Inc. All Rights Reserved