A simple and inefficient implementation to manage mount points
This package contains support classes for implementing a multiplexed persistence at the NodeStore level.
These classes maintain internal mappings of the 'native' objects. For instance, if the multiplexing NodeStore holds two MemoryNodeStore instances, then a call to NodeStore.getRoot() will return a multiplexing NodeState backed by two MemoryNodeState instances. Similarly, a call to NodeState.builder() will return a multiplexing NodeBuilder backed by two MemoryNodeState instances.
Using this approach allows us to always keep related NodeStore, NodeState and NodeBuilder instances isolated from other instances.
1. Brute-force support for oak:mount nodes.
Mount.getPathFragmentName() method defines
a name pattern that can be used by mounted stores to contribute to a patch which is not
owned by them. For instance, a mount named apps which owns /libs,/apps
can own another subtree anywhere in the repository given that a node named :oak-mount-apps
The current implementation naively queries all stores whenever the child node list is prepared.
This is obviously correct but may be slow.
Copyright © 2012-2017 The Apache Software Foundation. All Rights Reserved.