hi all, i'm currently looking at the versioning API of jsr283. there is a new VersionManager introduced that provides all versioning related methods and those on javax.jcr.Node are deprecated. i want to use this as an occasion to (re)move the versioning methods in NodeImpl.
basically there are 2 possibilities: a) either move them to the version manager b) or move them to a new class that extends NodeImpl, for example VersionableNodeImpl. the first (a) would align more with the JCR api, the latter (b) would be more object oriented. personally i prefer a VersionableNodeImpl solution, since most of the operations need access to protected methods on NodeImpl anyways. however, it also has the drawback, that for each new instance of NodeImpl, the item manager needs to check if the node is mix:versionable and then create a different implementation. this check is currently relative expensive, because the effective node type is not calculated at this point. WDYT? regards, toby
