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

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.

Hierarchy
  `Object`
  `Adjustment`

All Implemented Interfaces
  `Serializable`

Direct Known Subclasses
  `LineAdjustment`, `OrderAdjustment`

## Field Summary

`protected `List`` | `details` List
`protected boolean` | `isSet` boolean
`protected `AdjustmentType`` | `type` AdjustmentType

## Constructor Summary

Adjustment()
Adjustment(`AdjustmentType` aType, `Money` aBasePrice)
Adjustment(`Money` aBasePrice)

## Method Summary

`protected void` | `addDetail`(`AdjustmentDetail` aDetail) Adding a detail changes the adjustment type to match the detail.
`protected final boolean` | `checkCurrency`(`Money` value) Compare the currency of the money specified with the currency of previous money objects in this instance.
`protected final boolean` | `checkCurrency`(`String` value)
`protected final boolean` | `checkCurrency`(`AdjustmentDetail` detail)
`protected void` | `computeAdjustmentAmount`() Computes the amount of adjustment.
`public final `Money`` | `getActualPrice`() Returns the actual price for this Adjustment.
`public final `Money`` | `getAdjustmentAmount`() Returns the amount that this adjustment affects the price of it's parent.
`public final `Money`` | `getBasePrice`() Return the base price for the Adjustment.
`public final `String`` | `getCurrency`() Returns the currency for this adjustment.
`public `List`` | `getDetails`() Return an unmodifiable list of the AdjustmentDetails for this Adjustment.
`public final `AdjustmentType`` | `getType`() Return the AdjustmentType for this Adjustment
`protected void` | `init`()
`protected final 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.
`public void` | `set`(`AdjustmentType` aType, `Money` aBasePrice) Set the Adjustment object with the specified values.
`public void` | `set`(`Money` aBasePrice) Set the Adjustment object with the specified value.
`protected final void` | `setActualPrice`(`Money` anActualPrice) copy the given Money value into our actualPrice object.
`protected final 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.
`public `String`` | `toString`() Provides a string representation of this object.
`public static `String`` | `toString`(`List` adjustments) Provides a string representation for a List of Adjustments.

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Detail

### details

    protected List details

### isSet

    protected boolean isSet

### type

    protected AdjustmentType type

## Constructor Detail

### Adjustment

    protected Adjustment()

### Adjustment

    protected Adjustment(AdjustmentType aType,
                         Money aBasePrice)

### Adjustment

    protected Adjustment(Money aBasePrice)

## Method Detail

### addDetail(AdjustmentDetail) Method

    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.

### checkCurrency(Money) Method

    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(String) Method

    protected final boolean checkCurrency(String value)

### checkCurrency(AdjustmentDetail) Method

    protected final boolean checkCurrency(AdjustmentDetail detail)

### computeAdjustmentAmount() Method

    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.

### getActualPrice() Method

    public final Money getActualPrice()

Returns the actual price for this Adjustment.

### getAdjustmentAmount() Method

    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() Method

    public final Money getBasePrice()

Return the base price for the Adjustment.

### getCurrency() Method

    public final String getCurrency()

Returns the currency for this adjustment. All money values for this adjustment are of this currency

### getDetails() Method

    public List getDetails()

Return an unmodifiable list of the AdjustmentDetails for this Adjustment.

Related Topics

``AdjustmentDetail``

### getType() Method

    public final AdjustmentType getType()

Return the AdjustmentType for this Adjustment

Related Topics

``AdjustmentType``

### init() Method

    protected void init()

### markModified() Method

    protected final void markModified()

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

### reset() Method

    protected void reset()

### roundBasePrice(double) Method

    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

### set(AdjustmentType, Money) Method

    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.

Related Topics

``AdjustmentType``

### set(Money) Method

    public void set(Money aBasePrice)

Set the Adjustment object with the specified value.

#### Parameters

aBasePrice
  the base price for the Adjustment.

### setActualPrice(Money) Method

    protected final void setActualPrice(Money anActualPrice)

copy the given Money value into our actualPrice object. a call to addDetail() should call this method.

### setAdjustmentAmount(double) Method

    protected final void setAdjustmentAmount(double value)

Sets the amount of the adjustmentAmount field.

### setType(AdjustmentDetail) Method

    protected void setType(AdjustmentDetail aDetail)

called by addDetail() to set the type of this adjustment. Subclasses may override to get desired behavior.

### toString() Method

    public String toString()

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

Overrides
  `Object.toString()`

### toString(List) Method

    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.