 |
Simplicity. Custom calculations are easy to write and let the developer focus on just the code required for the calculation, nothing else. |
 |
Optimized. That is, the value is only calculated if the underlying characteristic is accessed. No reason to run an expensive computation if no one asks for it. |
 |
Caching. Once a specific value is calculated it is then cached within the entity for fast retrieval. |
 |
Dynamic Dependency management. If any of the values that went into the calculation are changed, the cached value is disposed of immediately and the calculation will be run again the next time the characteristic is requested. This includes any “downstream” values calculated from a calculated value. |
 |
Parameterization. A given computation can be parameterized such that it can be computed differently depending upon the context. Using the calculation parameterization feature of Armanta, end users can be provided with a way of controlling the computation within a given report and be confident that all downstream calculations will be consistent with this method. |
 |
Notification. In addition to being able to subscribe for events that notify us when a static value has changed as the result of a JMS broadcast, customer code can get notified when a calculated value has been invalidated. |