|
Listener intended to be used by all aggregators.
Being an aggregation listener now means participating in a 2 step process.
When an aggregation changes, it can change in one of two ways, each of which the
the listener can play a role in.
Note that below, when default behavior is mentioned, it is in ???PluginAdapter.
1) The aggregation can fail. (handleFailedAggregation)
Some downstream allocation can fail, and if this happens, the listener will
be called with the aggregation.
The listener can handle this in one of two ways :
a) rescind the aggregation and replan and reallocate OR
b) give up and report the failed aggregation to a superior. An example of this
approach is in UTILXXXPlugin
Since this is important, THERE IS NO DEFAULT BEHAVIOR for this option.
2) The aggregation is fine. (reportChangedAggregation)
Everything is fine with the aggregation, and the listener is asked to report the results
of the aggregation to its superior.
The listener can handle this by simply reporting the changed aggregation by calling
updateAllocationResult.
???Default behavior is to do this.
See Also: org.cougaar.lib.callback.UTILAggregationCallback See Also: org.cougaar.lib.callback.UTILExpansionListener See Also: org.cougaar.lib.callback.UTILAllocationListener |