test_class.file: oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/CompositionContextTest.java
test_class.identifier: CompositionContextTest
test_case.body: @Test
      public void testShouldBeComposite() {
          MountInfoProvider mip = Mounts.newBuilder()
                  .mount("libs", true,
                          Arrays.asList(
                                  "/oak:index/*$"
                          ),
                          Arrays.asList(
                                  "/apps",
                                  "/libs",
                                  "/jcr:system/rep:permissionStore/oak:mount-libs-crx.default")
                          )
                  .build();
          CompositionContext ctx = new CompositionContext(mip, null, Collections.emptyList(), CompositeNodeStoreMonitor.EMPTY_INSTANCE, CompositeNodeStoreMonitor.EMPTY_INSTANCE);
  
          assertTrue(ctx.shouldBeComposite("/"));
          assertTrue(ctx.shouldBeComposite("/oak:index"));
          assertTrue(ctx.shouldBeComposite("/oak:index/lucene"));
          assertTrue(ctx.shouldBeComposite("/jcr:system"));
          assertTrue(ctx.shouldBeComposite("/jcr:system/rep:permissionStore"));
  
          assertFalse(ctx.shouldBeComposite("/apps"));
          assertFalse(ctx.shouldBeComposite("/apps/acme"));
          assertFalse(ctx.shouldBeComposite("/libs"));
          assertFalse(ctx.shouldBeComposite("/libs/acme"));
          assertFalse(ctx.shouldBeComposite("/oak:index/lucene/:data"));
          assertFalse(ctx.shouldBeComposite("/oak:index/lucene/:oak:mount-libs-data"));
          assertFalse(ctx.shouldBeComposite("/jcr:system/rep:permissionStore/oak:mount-libs-crx.default"));
          assertFalse(ctx.shouldBeComposite("/jcr:system/rep:permissionStore/oak:mount-libs-crx.default/123"));
          assertFalse(ctx.shouldBeComposite("/jcr:system/rep:permissionStore/crx.default"));
          assertFalse(ctx.shouldBeComposite("/content"));
          assertFalse(ctx.shouldBeComposite("/jcr:system/rep:versionStorage"));
      }
test_case.class_method_signature: CompositionContextTest.testShouldBeComposite()
test_case.full_signature: @Test public void testShouldBeComposite()
test_case.identifier: testShouldBeComposite
test_case.invocations: build mount newBuilder asList asList emptyList assertTrue shouldBeComposite assertTrue shouldBeComposite assertTrue shouldBeComposite assertTrue shouldBeComposite assertTrue shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite assertFalse shouldBeComposite
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testShouldBeComposite()
focal_class.declarator: mip
focal_class.modifier: private final
focal_class.original_string: private final MountInfoProvider mip;
focal_class.type: MountInfoProvider
focal_class.var_name: mip
focal_class.declarator: globalStore
focal_class.modifier: private final
focal_class.original_string: private final MountedNodeStore globalStore;
focal_class.type: MountedNodeStore
focal_class.var_name: globalStore
focal_class.declarator: nonDefaultStores
focal_class.modifier: private final
focal_class.original_string: private final List<MountedNodeStore> nonDefaultStores;
focal_class.type: List<MountedNodeStore>
focal_class.var_name: nonDefaultStores
focal_class.declarator: nodeStoresByMount
focal_class.modifier: private final
focal_class.original_string: private final Map<Mount, MountedNodeStore> nodeStoresByMount;
focal_class.type: Map<Mount, MountedNodeStore>
focal_class.var_name: nodeStoresByMount
focal_class.declarator: allStores
focal_class.modifier: private final
focal_class.original_string: private final Set<MountedNodeStore> allStores;
focal_class.type: Set<MountedNodeStore>
focal_class.var_name: allStores
focal_class.declarator: pathCache
focal_class.modifier: private final
focal_class.original_string: private final StringCache pathCache;
focal_class.type: StringCache
focal_class.var_name: pathCache
focal_class.declarator: nodeStateMonitor
focal_class.modifier: private final
focal_class.original_string: private final CompositeNodeStoreMonitor nodeStateMonitor;
focal_class.type: CompositeNodeStoreMonitor
focal_class.var_name: nodeStateMonitor
focal_class.declarator: nodeBuilderMonitor
focal_class.modifier: private final
focal_class.original_string: private final CompositeNodeStoreMonitor nodeBuilderMonitor;
focal_class.type: CompositeNodeStoreMonitor
focal_class.var_name: nodeBuilderMonitor
focal_class.file: oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositionContext.java
focal_class.identifier: CompositionContext
focal_class.class_method_signature: CompositionContext.CompositionContext(MountInfoProvider mip, NodeStore globalStore, List<MountedNodeStore> nonDefaultStores, CompositeNodeStoreMonitor nodeStateMonitor, CompositeNodeStoreMonitor nodeBuilderMonitor)
focal_class.full_signature:   CompositionContext(MountInfoProvider mip, NodeStore globalStore, List<MountedNodeStore> nonDefaultStores, CompositeNodeStoreMonitor nodeStateMonitor, CompositeNodeStoreMonitor nodeBuilderMonitor)
focal_class.identifier: CompositionContext
focal_class.parameters: (MountInfoProvider mip, NodeStore globalStore, List<MountedNodeStore> nonDefaultStores, CompositeNodeStoreMonitor nodeStateMonitor, CompositeNodeStoreMonitor nodeBuilderMonitor)
focal_class.signature:  CompositionContext(MountInfoProvider mip, NodeStore globalStore, List<MountedNodeStore> nonDefaultStores, CompositeNodeStoreMonitor nodeStateMonitor, CompositeNodeStoreMonitor nodeBuilderMonitor)
focal_class.class_method_signature: CompositionContext.getGlobalStore()
focal_class.full_signature:  MountedNodeStore getGlobalStore()
focal_class.identifier: getGlobalStore
focal_class.parameters: ()
focal_class.return: MountedNodeStore
focal_class.signature: MountedNodeStore getGlobalStore()
focal_class.class_method_signature: CompositionContext.getNonDefaultStores()
focal_class.full_signature:  List<MountedNodeStore> getNonDefaultStores()
focal_class.identifier: getNonDefaultStores
focal_class.parameters: ()
focal_class.return: List<MountedNodeStore>
focal_class.signature: List<MountedNodeStore> getNonDefaultStores()
focal_class.class_method_signature: CompositionContext.getOwningStore(String path)
focal_class.full_signature:  MountedNodeStore getOwningStore(String path)
focal_class.identifier: getOwningStore
focal_class.parameters: (String path)
focal_class.return: MountedNodeStore
focal_class.signature: MountedNodeStore getOwningStore(String path)
focal_class.class_method_signature: CompositionContext.getContributingStoresForNodes(String path, final NodeMap<NodeState> nodeStates)
focal_class.full_signature:  List<MountedNodeStore> getContributingStoresForNodes(String path, final NodeMap<NodeState> nodeStates)
focal_class.identifier: getContributingStoresForNodes
focal_class.parameters: (String path, final NodeMap<NodeState> nodeStates)
focal_class.return: List<MountedNodeStore>
focal_class.signature: List<MountedNodeStore> getContributingStoresForNodes(String path, final NodeMap<NodeState> nodeStates)
focal_class.class_method_signature: CompositionContext.getContributingStoresForBuilders(String path, final NodeMap<NodeBuilder> nodeBuilders)
focal_class.full_signature:  List<MountedNodeStore> getContributingStoresForBuilders(String path, final NodeMap<NodeBuilder> nodeBuilders)
focal_class.identifier: getContributingStoresForBuilders
focal_class.parameters: (String path, final NodeMap<NodeBuilder> nodeBuilders)
focal_class.return: List<MountedNodeStore>
focal_class.signature: List<MountedNodeStore> getContributingStoresForBuilders(String path, final NodeMap<NodeBuilder> nodeBuilders)
focal_class.class_method_signature: CompositionContext.shouldBeComposite(final String path)
focal_class.full_signature:  boolean shouldBeComposite(final String path)
focal_class.identifier: shouldBeComposite
focal_class.parameters: (final String path)
focal_class.return: boolean
focal_class.signature: boolean shouldBeComposite(final String path)
focal_class.class_method_signature: CompositionContext.getContributingStores(String path, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.full_signature: private List<MountedNodeStore> getContributingStores(String path, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.identifier: getContributingStores
focal_class.modifiers: private
focal_class.parameters: (String path, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.return: List<MountedNodeStore>
focal_class.signature: List<MountedNodeStore> getContributingStores(String path, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.class_method_signature: CompositionContext.hasChildrenContainingPathFragmentName(MountedNodeStore mns, String parentPath, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.full_signature: private boolean hasChildrenContainingPathFragmentName(MountedNodeStore mns, String parentPath, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.identifier: hasChildrenContainingPathFragmentName
focal_class.modifiers: private
focal_class.parameters: (MountedNodeStore mns, String parentPath, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.return: boolean
focal_class.signature: boolean hasChildrenContainingPathFragmentName(MountedNodeStore mns, String parentPath, Function<MountedNodeStore, Iterable<String>> childrenProvider)
focal_class.class_method_signature: CompositionContext.getAllMountedNodeStores()
focal_class.full_signature:  Set<MountedNodeStore> getAllMountedNodeStores()
focal_class.identifier: getAllMountedNodeStores
focal_class.parameters: ()
focal_class.return: Set<MountedNodeStore>
focal_class.signature: Set<MountedNodeStore> getAllMountedNodeStores()
focal_class.class_method_signature: CompositionContext.createBlob(InputStream inputStream)
focal_class.full_signature:  Blob createBlob(InputStream inputStream)
focal_class.identifier: createBlob
focal_class.parameters: (InputStream inputStream)
focal_class.return: Blob
focal_class.signature: Blob createBlob(InputStream inputStream)
focal_class.class_method_signature: CompositionContext.belongsToStore(final MountedNodeStore mountedNodeStore, final String parentPath, final String childName)
focal_class.full_signature:  boolean belongsToStore(final MountedNodeStore mountedNodeStore, final String parentPath, final String childName)
focal_class.identifier: belongsToStore
focal_class.parameters: (final MountedNodeStore mountedNodeStore, final String parentPath, final String childName)
focal_class.return: boolean
focal_class.signature: boolean belongsToStore(final MountedNodeStore mountedNodeStore, final String parentPath, final String childName)
focal_class.class_method_signature: CompositionContext.createRootNodeState(NodeState globalRootState)
focal_class.full_signature:  CompositeNodeState createRootNodeState(NodeState globalRootState)
focal_class.identifier: createRootNodeState
focal_class.parameters: (NodeState globalRootState)
focal_class.return: CompositeNodeState
focal_class.signature: CompositeNodeState createRootNodeState(NodeState globalRootState)
focal_class.class_method_signature: CompositionContext.createRootNodeState(Map<MountedNodeStore, NodeState> rootStates)
focal_class.full_signature:  CompositeNodeState createRootNodeState(Map<MountedNodeStore, NodeState> rootStates)
focal_class.identifier: createRootNodeState
focal_class.parameters: (Map<MountedNodeStore, NodeState> rootStates)
focal_class.return: CompositeNodeState
focal_class.signature: CompositeNodeState createRootNodeState(Map<MountedNodeStore, NodeState> rootStates)
focal_class.class_method_signature: CompositionContext.getPathCache()
focal_class.full_signature:  StringCache getPathCache()
focal_class.identifier: getPathCache
focal_class.parameters: ()
focal_class.return: StringCache
focal_class.signature: StringCache getPathCache()
focal_class.class_method_signature: CompositionContext.getNodeStateMonitor()
focal_class.full_signature:  CompositeNodeStoreMonitor getNodeStateMonitor()
focal_class.identifier: getNodeStateMonitor
focal_class.parameters: ()
focal_class.return: CompositeNodeStoreMonitor
focal_class.signature: CompositeNodeStoreMonitor getNodeStateMonitor()
focal_class.class_method_signature: CompositionContext.getNodeBuilderMonitor()
focal_class.full_signature:  CompositeNodeStoreMonitor getNodeBuilderMonitor()
focal_class.identifier: getNodeBuilderMonitor
focal_class.parameters: ()
focal_class.return: CompositeNodeStoreMonitor
focal_class.signature: CompositeNodeStoreMonitor getNodeBuilderMonitor()
focal_method.body: boolean shouldBeComposite(final String path) {
          boolean supportMounts = false;
          if (mip.getNonDefaultMounts().stream().anyMatch(m -> m.isSupportFragmentUnder(path))) {
              supportMounts = true;
          } else if (!mip.getMountsPlacedUnder(path).isEmpty()) {
              supportMounts = true;
          }
          return supportMounts && mip.getMountByPath(path).isDefault();
      }
focal_method.class_method_signature: CompositionContext.shouldBeComposite(final String path)
focal_method.full_signature:  boolean shouldBeComposite(final String path)
focal_method.identifier: shouldBeComposite
focal_method.invocations: anyMatch stream getNonDefaultMounts isSupportFragmentUnder isEmpty getMountsPlacedUnder isDefault getMountByPath
focal_method.parameters: (final String path)
focal_method.return: boolean
focal_method.signature: boolean shouldBeComposite(final String path)