Last modified 3 years ago
Last modified on 02/03/09 14:06:42
| Ticket | Summary | Owner | Status | Type | Component | Priority | Effort | Importance |
|---|---|---|---|---|---|---|---|---|
| #227 | CORE_ADDITIONS_R1 | gogov | closed | planned_task | CORE_ADDITIONS | 3 | 1 | 20 |
| Description |
wiki page: CORE_ADDITIONS_R1 - effort: 1d |
|||||||
| Analysis_owners |
gogov |
|||||||
| Analysis_reviewers |
peko,boyan |
|||||||
| Analysis_score |
4 |
|||||||
| Design_score |
0 |
|||||||
| Imp._score |
0 |
|||||||
| Test_score |
0 |
|||||||
Analysis
Overview
This task involves the improvement of org.sophie2.core module.
Task requirements
- Revise org.sophie2.core and add some extra functionality that is needed:
- Provide a @Lazy annotation for AutoProperties:
- currently the compute() method is invoked on creation of the AutoProperty
- @Lazy should be used to implement lazy invocation of the compute() method in the AutoProperty, which means the method will be called on demand
- this would provide a performance optimization of AutoProperties holding references to objects which potentially will be never used - for instance some GUI object like an "Advanced settings" panel, which the majority of users wouldn't use at all or would use quite seldom
- Provide a @Const annotation for AutoProperties:
- @Const must ensure that the compute() method is called only once
- Provide a @Lazy annotation for AutoProperties:
- Write appropriate unit tests
Task result
The result of this task should be source code (including unit tests).
Implementation idea
Use reflection for @Const.
Related
PRO_LIB_CORE_TUTORIAL
CORE_ADDITIONS_R0
How to demo
Run the unit tests and show the results to the team.
