Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Next to the existing Node.hasNodes() method of the JCR API a variant of it would be handy:
JackrabbitNode.hasNodes(Pattern pattern)
it would allow an application to implement their own understanding of "child nodes" and provide a pattern, which could exclude all child nodes from this calcuation, which are implementation details of Jackrabbit/Oak (e.g. rep:policy nodes, jcr:content nodes). Today it is possible to implement this logic by getting the NodeIterator and filter manually, but getting the NodeIterator can be quite slow when the child node list is large and the backend non-local (e.g. Mongo).
Also a version of getNodes() should be provided which accepts such a pattern:
JackrabbitNode.getNodes(Pattern pattern)
(see https://lists.apache.org/thread/blw0y8wdhkpg0trymdo6hfz5g9j3cjsj for the discussion on oak-dev)
Attachments
Issue Links
- is related to
-
OAK-9666 NodeImpl.hasNode(String relPath) always retrieves the underlying tree
- Open