Apache Sling JCR Base Bundle

Clone this repo:
  1. 89e3620 SLING-11709 - Set up Jira autolinks to all Sling Github projects by Robert Munteanu · 8 weeks ago master
  2. 8834f93 Merge pull request #10 from apache/SLING-11819 by Carsten Ziegeler · 8 weeks ago
  3. 11d72d6 Update to parent pom 49 by Carsten Ziegeler · 8 weeks ago
  4. 0fc4bef SLING-11819 : Update to latest Sling mock dependencies by Carsten Ziegeler · 8 weeks ago
  5. 5cb1578 [maven-release-plugin] prepare for next development iteration by angela · 8 weeks ago

Apache Sling

Build Status Test Status Coverage Sonarcloud Status JavaDoc Maven Central jcr License

Apache Sling JCR Base Bundle

This module is part of the Apache Sling project.

The JCR base bundle provides JCR utility classes and support for repository mounts.

Repository Mount

Apache Sling provides support for pluggable resource providers. While this allows for a very flexible and efficient integration of custom data providers into Sling, this integration is done on Sling's resource API level. Legacy code which may rely on being able to adapt a resource into a JCR node and continue with JCR API will not work with such a resource provider.

To support legacy code, this bundle provides an SPI interface org.apache.sling.jcr.base.spi.RepositoryMount which extends JackrabbitRepository (and through this javax.jcr.Repository). A service registered as RepositoryMount registers itself with the service registration property RepositoryMount.MOUNT_POINTS_KEY which is a String+ property containing the paths in the JCR tree where the mount takes over the control of the JCR nodes. The RepositoryMount can registered at a single path or multiple.

As RepositoryMount extends JackrabbitRepository the implementation of a mount needs to implement the whole JCR API. This is a lot of work compared to a ResourceProvider, therefore a RepositoryMount should only be used if legacy code using JCR API needs to be supported.