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

Reply via email to