# com.bea.commerce.ebusiness.price.engine
AbstractDiscountCalculator Class

public abstract class AbstractDiscountCalculator
extends `Object`
implements `DiscountCalculator`

Hierarchy
  `Object`
  `AbstractDiscountCalculator`

All Implemented Interfaces
  `DiscountCalculator`

Direct Known Subclasses
  `DiscountCalculatorFixedOff`, `DiscountCalculatorFixedPrice`, `DiscountCalculatorPercentOff`

## Field Summary

`public static final boolean` | `DEBUG` boolean

## Constructor Summary

AbstractDiscountCalculator()

## Method Summary

`protected void` | `adjust`(`List` poolObjects, `AdjustmentType` type, `Money` initialPrice, `Money` endPrice, `String` reason, `QualificationDiscountId` discountID)
`protected void` | `adjust`(`PoolObject` poolObject, `AdjustmentType` type, `Money` initialPrice, `Money` endPrice, `String` reason, `QualificationDiscountId` discountID)
`protected double` | `computeNewPrice`(`PoolObject` object) Override this method to have processList() work.
`protected abstract `String`` | `getComputation`()
`protected void` | `processList`(`List` poolObjects, `AdjustmentType` type, `String` reason, `QualificationDiscountId` discountID) possibly objects that dont represent the same line item.

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

Methods from interface `com.bea.commerce.ebusiness.price.engine.`DiscountCalculator``
``calcNewPrice`, `calcNewPrice``

## Field Detail

### DEBUG

    public static final boolean DEBUG

## Constructor Detail

### AbstractDiscountCalculator

    protected AbstractDiscountCalculator()

## Method Detail

### adjust(List, AdjustmentType, Money, Money, String, QualificationDiscountId) Method

    protected void adjust(List poolObjects,
                          AdjustmentType type,
                          Money initialPrice,
                          Money endPrice,
                          String reason,
                          QualificationDiscountId discountID)

### adjust(PoolObject, AdjustmentType, Money, Money, String, QualificationDiscountId) Method

    protected void adjust(PoolObject poolObject,
                          AdjustmentType type,
                          Money initialPrice,
                          Money endPrice,
                          String reason,
                          QualificationDiscountId discountID)

### computeNewPrice(PoolObject) Method

    protected double computeNewPrice(PoolObject object)

Override this method to have processList() work.

### getComputation() Method

    protected abstract String getComputation()

### processList(List, AdjustmentType, String, QualificationDiscountId) Method

    protected void processList(List poolObjects,
                               AdjustmentType type,
                               String reason,
                               QualificationDiscountId discountID)

possibly objects that dont represent the same line item. Override the computeNewPrice() method for this to work.