JCR API is a well known API among content repository vendors. Content Repository API for Java (JCR) is a specification for a Java platform API for accessing content repositories in an uniform manner and it defines an abstract model and a Java API for data storage and related services commonly used by content-oriented applications. WSO2 Governance Registry JCR API is built on top of the repository side of Governance Registry.
A JCR repository is composed of one or more persistent workspaces, each consisting of a directed acyclic graph of items where the edges represent the parent-child relation. Here a JCR Item is either a Node or a Property.
A Node can have zero or more child items. A property cannot have child items but can hold zero or more values.
So in other words a workspace is a tree of Nodes and Properties. The nodes of a workspace form the structure of the stored data while the actual content is stored in the values of the properties.
In JCR, you can store many types of data such as String, javax.jcr.Value, Boolean, Long, Double, Integer, InputStream, etc. into node properties.
Following is the basic architecture diagram which shows how the JCR layer is connected with WSO2 Governance Registry.
For a sample on JCR, refer to JCR Sample .