© 2002 BEA Systems, Inc.


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

java.lang.Object
  |
  +--com.bea.commerce.ebusiness.price.quote.Adjustment
Direct Known Subclasses:
LineAdjustment, OrderAdjustment

public abstract class Adjustment
extends java.lang.Object
implements java.io.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  java.util.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(java.lang.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.
 java.lang.String getCurrency()
          Returns the currency for this adjustment.
 java.util.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.
 java.lang.String toString()
          Provides a string representation of this object.
static java.lang.String toString(java.util.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 java.util.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 java.util.List getDetails()
Return an unmodifiable list of the AdjustmentDetails for this Adjustment.

See Also:
AdjustmentDetail

getCurrency

public final java.lang.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(java.lang.String value)


checkCurrency

protected final boolean checkCurrency(AdjustmentDetail detail)


toString

public java.lang.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 java.lang.Object

toString

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


© 2002 BEA Systems, Inc.

Copyright © 2002 BEA Systems, Inc. All Rights Reserved