org.apache.chemistry.opencmis.jcr
Class JcrRepository

java.lang.Object
  extended by org.apache.chemistry.opencmis.jcr.JcrRepository

public final class JcrRepository
extends java.lang.Object

JCR back-end for CMIS server.


Constructor Summary
JcrRepository(javax.jcr.Repository repository, java.lang.String rootPath, JcrTypeManager typeManager, JcrNodeFactory nodeFactory)
          Create a new JcrRepository instance backed by a JCR repository.
 
Method Summary
 void cancelCheckout(javax.jcr.Session session, java.lang.String objectId)
          See CMIS 1.0 section 2.2.7.2 cancelCheckout
 void checkIn(javax.jcr.Session session, Holder<java.lang.String> objectId, java.lang.Boolean major, Properties properties, ContentStream contentStream, java.lang.String checkinComment)
          See CMIS 1.0 section 2.2.7.3 checkedIn
 void checkOut(javax.jcr.Session session, Holder<java.lang.String> objectId, Holder<java.lang.Boolean> contentCopied)
          See CMIS 1.0 section 2.2.7.1 checkOut
 java.lang.String createDocument(javax.jcr.Session session, Properties properties, java.lang.String folderId, ContentStream contentStream, VersioningState versioningState)
          See CMIS 1.0 section 2.2.4.1 createDocument
 java.lang.String createDocumentFromSource(javax.jcr.Session session, java.lang.String sourceId, Properties properties, java.lang.String folderId, VersioningState versioningState)
          See CMIS 1.0 section 2.2.4.2 createDocumentFromSource
 java.lang.String createFolder(javax.jcr.Session session, Properties properties, java.lang.String folderId)
          See CMIS 1.0 section 2.2.4.3 createFolder
 void deleteObject(javax.jcr.Session session, java.lang.String objectId, java.lang.Boolean allVersions)
          See CMIS 1.0 section 2.2.4.14 deleteObject
 FailedToDeleteData deleteTree(javax.jcr.Session session, java.lang.String folderId)
          See CMIS 1.0 section 2.2.4.15 deleteTree
 AllowableActions getAllowableActions(javax.jcr.Session session, java.lang.String objectId)
          See CMIS 1.0 section 2.2.4.6 getAllowableActions
 java.util.List<ObjectData> getAllVersions(javax.jcr.Session session, java.lang.String objectId, java.lang.String filter, java.lang.Boolean includeAllowableActions, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.7.6 getAllVersions
 ObjectList getCheckedOutDocs(javax.jcr.Session session, java.lang.String folderId, java.lang.String filter, java.lang.String orderBy, java.lang.Boolean includeAllowableActions, java.math.BigInteger maxItems, java.math.BigInteger skipCount)
          See CMIS 1.0 section 2.2.3.6 getCheckedOutDocs
 ObjectInFolderList getChildren(javax.jcr.Session session, java.lang.String folderId, java.lang.String filter, java.lang.Boolean includeAllowableActions, java.lang.Boolean includePathSegment, java.math.BigInteger maxItems, java.math.BigInteger skipCount, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.3.1 getChildren
 ContentStream getContentStream(javax.jcr.Session session, java.lang.String objectId, java.math.BigInteger offset, java.math.BigInteger length)
          See CMIS 1.0 section 2.2.4.10 getContentStream
 java.util.List<ObjectInFolderContainer> getDescendants(javax.jcr.Session session, java.lang.String folderId, java.math.BigInteger depth, java.lang.String filter, java.lang.Boolean includeAllowableActions, java.lang.Boolean includePathSegment, ObjectInfoHandler objectInfos, boolean requiresObjectInfo, boolean foldersOnly)
          See CMIS 1.0 section 2.2.3.2 getDescendants
 ObjectData getFolderParent(javax.jcr.Session session, java.lang.String folderId, java.lang.String filter, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.3.4 getFolderParent
 ObjectData getObject(javax.jcr.Session session, java.lang.String objectId, java.lang.String filter, java.lang.Boolean includeAllowableActions, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.4.7 getObject
 ObjectData getObjectByPath(javax.jcr.Session session, java.lang.String folderPath, java.lang.String filter, boolean includeAllowableActions, boolean includeACL, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.4.9 getObjectByPath
 java.util.List<ObjectParentData> getObjectParents(javax.jcr.Session session, java.lang.String objectId, java.lang.String filter, java.lang.Boolean includeAllowableActions, java.lang.Boolean includeRelativePathSegment, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.3.5 getObjectParents
 Properties getProperties(javax.jcr.Session session, java.lang.String objectId, java.lang.String filter, java.lang.Boolean includeAllowableActions, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.4.8 getProperties
 RepositoryInfo getRepositoryInfo(javax.jcr.Session session)
          See CMIS 1.0 section 2.2.2.2 getRepositoryInfo
 java.util.List<RepositoryInfo> getRepositoryInfos(javax.jcr.Session session)
          See CMIS 1.0 section 2.2.2.2 getRepositoryInfo
 TypeDefinitionList getTypeChildren(javax.jcr.Session session, java.lang.String typeId, boolean includePropertyDefinitions, java.math.BigInteger maxItems, java.math.BigInteger skipCount)
          See CMIS 1.0 section 2.2.2.3 getTypeChildren
 TypeDefinition getTypeDefinition(javax.jcr.Session session, java.lang.String typeId)
          See CMIS 1.0 section 2.2.2.5 getTypeDefinition
 java.util.List<TypeDefinitionContainer> getTypesDescendants(javax.jcr.Session session, java.lang.String typeId, java.math.BigInteger depth, java.lang.Boolean includePropertyDefinitions)
          See CMIS 1.0 section 2.2.2.4 getTypeDescendants
 javax.jcr.Session login(javax.jcr.Credentials credentials, java.lang.String workspaceName)
          Log into the underlying JCR repository.
 ObjectData moveObject(javax.jcr.Session session, Holder<java.lang.String> objectId, java.lang.String targetFolderId, ObjectInfoHandler objectInfos, boolean requiresObjectInfo)
          See CMIS 1.0 section 2.2.4.13 moveObject
 ObjectList query(javax.jcr.Session session, java.lang.String statement, java.lang.Boolean searchAllVersions, java.lang.Boolean includeAllowableActions, java.math.BigInteger maxItems, java.math.BigInteger skipCount)
          See CMIS 1.0 section 2.2.6.1 query
 void setContentStream(javax.jcr.Session session, Holder<java.lang.String> objectId, java.lang.Boolean overwriteFlag, ContentStream contentStream)
          See CMIS 1.0 section 2.2.4.16 setContentStream
 ObjectData updateProperties(javax.jcr.Session session, Holder<java.lang.String> objectId, Properties properties, ObjectInfoHandler objectInfos, boolean objectInfoRequired)
          See CMIS 1.0 section 2.2.4.12 updateProperties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JcrRepository

public JcrRepository(javax.jcr.Repository repository,
                     java.lang.String rootPath,
                     JcrTypeManager typeManager,
                     JcrNodeFactory nodeFactory)
Create a new JcrRepository instance backed by a JCR repository.

Parameters:
repository - the JCR repository
rootPath - path in the JCR repository which is exposed as root folder in CMIS
typeManager -
nodeFactory -
Method Detail

login

public javax.jcr.Session login(javax.jcr.Credentials credentials,
                               java.lang.String workspaceName)
Log into the underlying JCR repository.

Parameters:
credentials -
workspaceName -
Returns:
Throws:
javax.jcr.LoginException
javax.jcr.NoSuchWorkspaceException
javax.jcr.RepositoryException

getRepositoryInfo

public RepositoryInfo getRepositoryInfo(javax.jcr.Session session)
See CMIS 1.0 section 2.2.2.2 getRepositoryInfo


getRepositoryInfos

public java.util.List<RepositoryInfo> getRepositoryInfos(javax.jcr.Session session)
See CMIS 1.0 section 2.2.2.2 getRepositoryInfo


getTypeChildren

public TypeDefinitionList getTypeChildren(javax.jcr.Session session,
                                          java.lang.String typeId,
                                          boolean includePropertyDefinitions,
                                          java.math.BigInteger maxItems,
                                          java.math.BigInteger skipCount)
See CMIS 1.0 section 2.2.2.3 getTypeChildren


getTypeDefinition

public TypeDefinition getTypeDefinition(javax.jcr.Session session,
                                        java.lang.String typeId)
See CMIS 1.0 section 2.2.2.5 getTypeDefinition


getTypesDescendants

public java.util.List<TypeDefinitionContainer> getTypesDescendants(javax.jcr.Session session,
                                                                   java.lang.String typeId,
                                                                   java.math.BigInteger depth,
                                                                   java.lang.Boolean includePropertyDefinitions)
See CMIS 1.0 section 2.2.2.4 getTypeDescendants


createDocument

public java.lang.String createDocument(javax.jcr.Session session,
                                       Properties properties,
                                       java.lang.String folderId,
                                       ContentStream contentStream,
                                       VersioningState versioningState)
See CMIS 1.0 section 2.2.4.1 createDocument


createDocumentFromSource

public java.lang.String createDocumentFromSource(javax.jcr.Session session,
                                                 java.lang.String sourceId,
                                                 Properties properties,
                                                 java.lang.String folderId,
                                                 VersioningState versioningState)
See CMIS 1.0 section 2.2.4.2 createDocumentFromSource


createFolder

public java.lang.String createFolder(javax.jcr.Session session,
                                     Properties properties,
                                     java.lang.String folderId)
See CMIS 1.0 section 2.2.4.3 createFolder


moveObject

public ObjectData moveObject(javax.jcr.Session session,
                             Holder<java.lang.String> objectId,
                             java.lang.String targetFolderId,
                             ObjectInfoHandler objectInfos,
                             boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.4.13 moveObject


setContentStream

public void setContentStream(javax.jcr.Session session,
                             Holder<java.lang.String> objectId,
                             java.lang.Boolean overwriteFlag,
                             ContentStream contentStream)
See CMIS 1.0 section 2.2.4.16 setContentStream


deleteObject

public void deleteObject(javax.jcr.Session session,
                         java.lang.String objectId,
                         java.lang.Boolean allVersions)
See CMIS 1.0 section 2.2.4.14 deleteObject


deleteTree

public FailedToDeleteData deleteTree(javax.jcr.Session session,
                                     java.lang.String folderId)
See CMIS 1.0 section 2.2.4.15 deleteTree


updateProperties

public ObjectData updateProperties(javax.jcr.Session session,
                                   Holder<java.lang.String> objectId,
                                   Properties properties,
                                   ObjectInfoHandler objectInfos,
                                   boolean objectInfoRequired)
See CMIS 1.0 section 2.2.4.12 updateProperties


getObject

public ObjectData getObject(javax.jcr.Session session,
                            java.lang.String objectId,
                            java.lang.String filter,
                            java.lang.Boolean includeAllowableActions,
                            ObjectInfoHandler objectInfos,
                            boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.4.7 getObject


getProperties

public Properties getProperties(javax.jcr.Session session,
                                java.lang.String objectId,
                                java.lang.String filter,
                                java.lang.Boolean includeAllowableActions,
                                ObjectInfoHandler objectInfos,
                                boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.4.8 getProperties


getAllowableActions

public AllowableActions getAllowableActions(javax.jcr.Session session,
                                            java.lang.String objectId)
See CMIS 1.0 section 2.2.4.6 getAllowableActions


getContentStream

public ContentStream getContentStream(javax.jcr.Session session,
                                      java.lang.String objectId,
                                      java.math.BigInteger offset,
                                      java.math.BigInteger length)
See CMIS 1.0 section 2.2.4.10 getContentStream


getChildren

public ObjectInFolderList getChildren(javax.jcr.Session session,
                                      java.lang.String folderId,
                                      java.lang.String filter,
                                      java.lang.Boolean includeAllowableActions,
                                      java.lang.Boolean includePathSegment,
                                      java.math.BigInteger maxItems,
                                      java.math.BigInteger skipCount,
                                      ObjectInfoHandler objectInfos,
                                      boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.3.1 getChildren


getDescendants

public java.util.List<ObjectInFolderContainer> getDescendants(javax.jcr.Session session,
                                                              java.lang.String folderId,
                                                              java.math.BigInteger depth,
                                                              java.lang.String filter,
                                                              java.lang.Boolean includeAllowableActions,
                                                              java.lang.Boolean includePathSegment,
                                                              ObjectInfoHandler objectInfos,
                                                              boolean requiresObjectInfo,
                                                              boolean foldersOnly)
See CMIS 1.0 section 2.2.3.2 getDescendants


getFolderParent

public ObjectData getFolderParent(javax.jcr.Session session,
                                  java.lang.String folderId,
                                  java.lang.String filter,
                                  ObjectInfoHandler objectInfos,
                                  boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.3.4 getFolderParent


getObjectParents

public java.util.List<ObjectParentData> getObjectParents(javax.jcr.Session session,
                                                         java.lang.String objectId,
                                                         java.lang.String filter,
                                                         java.lang.Boolean includeAllowableActions,
                                                         java.lang.Boolean includeRelativePathSegment,
                                                         ObjectInfoHandler objectInfos,
                                                         boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.3.5 getObjectParents


getObjectByPath

public ObjectData getObjectByPath(javax.jcr.Session session,
                                  java.lang.String folderPath,
                                  java.lang.String filter,
                                  boolean includeAllowableActions,
                                  boolean includeACL,
                                  ObjectInfoHandler objectInfos,
                                  boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.4.9 getObjectByPath


getCheckedOutDocs

public ObjectList getCheckedOutDocs(javax.jcr.Session session,
                                    java.lang.String folderId,
                                    java.lang.String filter,
                                    java.lang.String orderBy,
                                    java.lang.Boolean includeAllowableActions,
                                    java.math.BigInteger maxItems,
                                    java.math.BigInteger skipCount)
See CMIS 1.0 section 2.2.3.6 getCheckedOutDocs


checkOut

public void checkOut(javax.jcr.Session session,
                     Holder<java.lang.String> objectId,
                     Holder<java.lang.Boolean> contentCopied)
See CMIS 1.0 section 2.2.7.1 checkOut


cancelCheckout

public void cancelCheckout(javax.jcr.Session session,
                           java.lang.String objectId)
See CMIS 1.0 section 2.2.7.2 cancelCheckout


checkIn

public void checkIn(javax.jcr.Session session,
                    Holder<java.lang.String> objectId,
                    java.lang.Boolean major,
                    Properties properties,
                    ContentStream contentStream,
                    java.lang.String checkinComment)
See CMIS 1.0 section 2.2.7.3 checkedIn


getAllVersions

public java.util.List<ObjectData> getAllVersions(javax.jcr.Session session,
                                                 java.lang.String objectId,
                                                 java.lang.String filter,
                                                 java.lang.Boolean includeAllowableActions,
                                                 ObjectInfoHandler objectInfos,
                                                 boolean requiresObjectInfo)
See CMIS 1.0 section 2.2.7.6 getAllVersions


query

public ObjectList query(javax.jcr.Session session,
                        java.lang.String statement,
                        java.lang.Boolean searchAllVersions,
                        java.lang.Boolean includeAllowableActions,
                        java.math.BigInteger maxItems,
                        java.math.BigInteger skipCount)
See CMIS 1.0 section 2.2.6.1 query



Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.