com.bea.commerce.ebusiness.price.quote
Class Adjustment

java.lang.Object
  extended by com.bea.commerce.ebusiness.price.quote.Adjustment
All Implemented Interfaces
Serializable
Direct Known Subclasses:
LineAdjustment, OrderAdjustment

public abstract class Adjustment
extends Object
implements Serializable

Represents an adjustment to a Quote object. An adjustment must have the same currency for all money values. Attempts to violate the single currency rule will produce CurrencyMismatchExceptions.

See Also
Serialized Form

Field Summary
protected  List details
           
protected  boolean isSet
           
protected  AdjustmentType type
           
 
Constructor Summary
protected Adjustment()
           
protected Adjustment(AdjustmentType aType, Money aBasePrice)
           
protected Adjustment(Money aBasePrice)
           
 
Method Summary
protected  void addDetail(AdjustmentDetail aDetail)
          Adding a detail changes the adjustment type to match the detail.
protected  boolean checkCurrency(AdjustmentDetail detail)
           
protected  boolean checkCurrency(Money value)
          Compare the currency of the money specified with the currency of previous money objects in this instance.
protected  boolean checkCurrency(String value)
           
protected  void computeAdjustmentAmount()
          Computes the amount of adjustment.
 Money getActualPrice()
          Returns the actual price for this Adjustment.
 Money getAdjustmentAmount()
          Returns the amount that this adjustment affects the price of it's parent.
 Money getBasePrice()
          Return the base price for the Adjustment.
 String getCurrency()
          Returns the currency for this adjustment.
 List getDetails()
          Return an unmodifiable list of the AdjustmentDetails for this Adjustment.
 AdjustmentType getType()
          Return the AdjustmentType for this Adjustment
protected  void init()
           
protected  void markModified()
          Mark the Adjustment as modified so that the immutable ImmutableMoney objects returned from getXXXPrice() can be generated
protected  void reset()
           
protected  double roundBasePrice(double value)
          Provides a means to round the base price amount.
 void set(AdjustmentType aType, Money aBasePrice)
          Set the Adjustment object with the specified values.
 void set(Money aBasePrice)
          Set the Adjustment object with the specified value.
protected  void setActualPrice(Money anActualPrice)
          copy the given Money value into our actualPrice object.
protected  void setAdjustmentAmount(double value)
          Sets the amount of the adjustmentAmount field.
protected  void setType(AdjustmentDetail aDetail)
          called by addDetail() to set the type of this adjustment.
 String toString()
          Provides a string representation of this object.
static String toString(List adjustments)
          Provides a string representation for a List of Adjustments.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

type

protected AdjustmentType type

details

protected List details

isSet

protected boolean isSet
Constructor Detail

Adjustment

protected Adjustment()

Adjustment

protected Adjustment(Money aBasePrice)

Adjustment

protected Adjustment(AdjustmentType aType,
                     Money aBasePrice)
Method Detail

init

protected void init()

reset

protected void reset()

set

public void set(AdjustmentType aType,
                Money aBasePrice)
Set the Adjustment object with the specified values.

Parameters
aType - the AdjustmentType for this adjustment.
aBasePrice - the base price for the Adjustment.
See Also
AdjustmentType

set

public void set(Money aBasePrice)
Set the Adjustment object with the specified value.

Parameters
aBasePrice - the base price for the Adjustment.

getActualPrice

public final Money getActualPrice()
Returns the actual price for this Adjustment.


getAdjustmentAmount

public final Money getAdjustmentAmount()
Returns the amount that this adjustment affects the price of it's parent. The computation of this amount may be modified by subclasses. The default computation of adjustment amount is base price - actual price.


getBasePrice

public final Money getBasePrice()
Return the base price for the Adjustment.


getType

public final AdjustmentType getType()
Return the AdjustmentType for this Adjustment

See Also
AdjustmentType

getDetails

public List getDetails()
Return an unmodifiable list of the AdjustmentDetails for this Adjustment.

See Also
AdjustmentDetail

getCurrency

public final String getCurrency()
Returns the currency for this adjustment. All money values for this adjustment are of this currency


roundBasePrice

protected double roundBasePrice(double value)
Provides a means to round the base price amount. Subclasses may want different rounding strategies applied and since basePrice is immutable we must round it prior to setting it. The default behavior is not to round the value at all, subclasses should override as necessary.

Parameters
value - Money amount to be rounded

setActualPrice

protected final void setActualPrice(Money anActualPrice)
copy the given Money value into our actualPrice object. a call to addDetail() should call this method.


computeAdjustmentAmount

protected void computeAdjustmentAmount()
Computes the amount of adjustment. This method may be overridden by subclasses to provide different computations when the quantity of items is different from 1. Adjustment value is positive for an adjustment that lowers the price of the item, thus a positive value indicates a discount while a negative value indicates an additional charge.


setAdjustmentAmount

protected final void setAdjustmentAmount(double value)
Sets the amount of the adjustmentAmount field.


markModified

protected final void markModified()
Mark the Adjustment as modified so that the immutable ImmutableMoney objects returned from getXXXPrice() can be generated


addDetail

protected void addDetail(AdjustmentDetail aDetail)
Adding a detail changes the adjustment type to match the detail. Subclasses can override this behavior by modifying the setType() method.


setType

protected void setType(AdjustmentDetail aDetail)
called by addDetail() to set the type of this adjustment. Subclasses may override to get desired behavior.


checkCurrency

protected final boolean checkCurrency(Money value)
Compare the currency of the money specified with the currency of previous money objects in this instance.

Parameters
value - a money object to be compared to the current value
Returns
true if this is the first money object to be checked or if the current currency value matches the currency value of the money specified.

checkCurrency

protected final boolean checkCurrency(String value)

checkCurrency

protected final boolean checkCurrency(AdjustmentDetail detail)

toString

public String toString()
Provides a string representation of this object. This method is intended for debugging and may change at any time.

Overrides:
toString in class Object

toString

public static String toString(List adjustments)
Provides a string representation for a List of Adjustments. This method is intended for debugging and may change at any time.



Copyright © 2006 BEA Systems, Inc. All Rights Reserved