Instead of passing around Nodes internally and casting them down to NodeImpl we should use the façade pattern and delegate from NodeImpl back to an implementation class which is used internally. This also avoids the problem of API clients accessing stuff they shouldn't by casting to the implementation.
Some initial work has been done already. What's left to do it:
- Push down as much as possible from ItemImpl, NodeImpl and PropertyImpl to the respective delegate classes
- Introduce the same pattern for SessionImpl and do away with SessionContext.
|Field||Original Value||New Value|
|Component/s||jcr [ 12317804 ]|
|Component/s||it [ 12317805 ]|
|Attachment||0001-OAK-84-Delegates-for-Session-Node-Property-and-Item.patch [ 12525484 ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Assignee||Michael Dürig [ mduerig ]|
|Fix Version/s||0.3 [ 12320345 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Transition||Time In Source Status||Execution Times||Last Executer||Last Execution Date|
|5d 19h 7m||1||Michael Dürig||09/May/12 10:22|
|57d 4h 40m||1||Alex Parvulescu||05/Jul/12 15:02|