|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object atg.commerce.pricing.AggregatorManager
public class AggregatorManager
This class is responsible for keeping a track of the currently configured aggregators.
Field Summary | |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string |
Constructor Summary | |
---|---|
AggregatorManager()
|
Method Summary | |
---|---|
AggregatorInfo |
calculate(java.lang.String pAggregator,
java.lang.String pOperation,
java.lang.Double pAggValueSoFar,
java.lang.Long pQuantityMatched,
java.lang.Double pTargetValue,
CommerceItem pItem,
java.util.Map pAttributes)
This method will call the correct aggregator based on the given pAggregator parameter. |
java.util.Set<java.lang.String> |
getAggregatorKeys()
Returns a list of the aggregator keys. |
ServiceMap |
getAggregators()
Get the aggregators. |
java.util.Set<java.lang.String> |
getOperations()
Returns a list of the combined operations that are available from all of the aggregators. |
java.util.Set<java.lang.String> |
getOverriddenProperties()
Returns a set of the properties that have been overridden by the aggregators. |
java.lang.String |
getPropertyAggregatorKey()
Get the property aggregator key. |
java.lang.String |
getQuantityAggregatorKey()
Get the quantity aggregator key. |
java.lang.String |
getTotalOperationName()
Get the total operation name property. |
boolean |
isPropertyAggregator(java.lang.String pValue)
Returns true if the given value indicates that it is
related to a property aggregator. |
boolean |
isValidAggregator(java.lang.String pAggregator)
Returns true if the aggregator has been registered,
false otherwise. |
boolean |
isValidOperation(java.lang.String pOperation,
java.lang.String pAggregator)
Returns true if the given operation is valid for the given
aggregator, false otherwise. |
java.lang.Number |
parseValue(java.lang.String pAggregator,
java.lang.String pValue,
java.lang.Class<?> pType)
Parses a string value and returns a Number representation. |
void |
setAggregators(ServiceMap pAggregators)
Setter for the aggregators property. |
void |
setTotalOperationName(java.lang.String pTotalOperationName)
Set the total operation name. |
protected void |
setupAggregatorKeys()
Sets the key names of the quantity and property aggregators based on the key defined in the aggregators map. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static java.lang.String CLASS_VERSION
Constructor Detail |
---|
public AggregatorManager()
Method Detail |
---|
public void setAggregators(ServiceMap pAggregators)
pAggregators
- map of aggregatorspublic ServiceMap getAggregators()
public void setTotalOperationName(java.lang.String pTotalOperationName)
pTotalOperationName
- the total operation namepublic java.lang.String getTotalOperationName()
public java.lang.String getQuantityAggregatorKey()
public java.lang.String getPropertyAggregatorKey()
protected void setupAggregatorKeys()
public java.util.Set<java.lang.String> getOperations()
public java.util.Set<java.lang.String> getAggregatorKeys()
public AggregatorInfo calculate(java.lang.String pAggregator, java.lang.String pOperation, java.lang.Double pAggValueSoFar, java.lang.Long pQuantityMatched, java.lang.Double pTargetValue, CommerceItem pItem, java.util.Map pAttributes) throws PricingException
pAggregator
- the name of the aggregator topOperation
- the operation to invoke on the aggregatorpAggValueSoFar
- the aggregated value so far, which may be potentially
derived from many calculations from multiple itemspQuantityMatched
- the number of items that have contributed to the
aggregated valuepTargetValue
- a value specified in the condition/offer of a promotion
which can be used as a target in relation to the aggregated value.
May or may not be relevant to an aggregatorpItem
- the item that is currently being evaluatedpAttributes
- extra parameters
PricingException
- if an error occurred whilst calculatingpublic java.util.Set<java.lang.String> getOverriddenProperties()
public boolean isValidOperation(java.lang.String pOperation, java.lang.String pAggregator)
true
if the given operation is valid for the given
aggregator, false
otherwise. Will also return false
if the aggregator has not been registered.
The total operation for the quantity aggregator is always valid, no matter if
the aggregator has been registered or not.
pOperation
- the name of the operation to validatepAggregator
- the name of the aggregator to validate
true
if the aggregator operation is valid, false
otherwisepublic boolean isValidAggregator(java.lang.String pAggregator)
true
if the aggregator has been registered,
false
otherwise.
The quantity aggregator is always valid, no matter if it has
been registered or not.
pAggregator
- the name of the aggregator to validate
true
if the aggregator is valid, false
otherwisepublic boolean isPropertyAggregator(java.lang.String pValue)
true
if the given value indicates that it is
related to a property aggregator.
pValue
- value to check
true
if it can be determined that the given
value relates to a property aggregator, false
otherwisepublic java.lang.Number parseValue(java.lang.String pAggregator, java.lang.String pValue, java.lang.Class<?> pType) throws java.lang.NumberFormatException
pAggregator
- the name of the aggregatorpValue
- value to be parsedpType
- class type of pValue
java.lang.NumberFormatException
- if pValue could not be parsed
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |