You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2010/02/22 13:40:49 UTC
svn commit: r912548 -
/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/
Author: fmui
Date: Mon Feb 22 12:40:48 2010
New Revision: 912548
URL: http://svn.apache.org/viewvc?rev=912548&view=rev
Log:
improved server framework SPI JavaDoc
Added:
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/package.html (with props)
Modified:
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/AbstractServicesFactory.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CallContext.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisAclService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisDiscoveryService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisMultiFilingService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisNavigationService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisObjectService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisPolicyService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRelationshipService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRepositoryService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisVersioningService.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfo.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfoHolder.java
incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/RenditionInfo.java
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/AbstractServicesFactory.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/AbstractServicesFactory.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/AbstractServicesFactory.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/AbstractServicesFactory.java Mon Feb 22 12:40:48 2010
@@ -23,7 +23,7 @@
import org.apache.opencmis.commons.exceptions.CmisNotSupportedException;
/**
- * The aim of this class is provide CMIS service instances.
+ * This class provides the CMIS service instances.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CallContext.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CallContext.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CallContext.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CallContext.java Mon Feb 22 12:40:48 2010
@@ -36,7 +36,8 @@
String LENGTH = "length";
/**
- * Returns the binding. Usually it returns {@link BINDING_ATOMPUB} or {@link BINDING_WEBSERVICES}.
+ * Returns the binding. Usually it returns {@link CallContext#BINDING_ATOMPUB} or
+ * {@link CallContext#BINDING_WEBSERVICES}.
*/
String getBinding();
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisAclService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisAclService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisAclService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisAclService.java Mon Feb 22 12:40:48 2010
@@ -23,7 +23,8 @@
import org.apache.opencmis.commons.provider.AccessControlList;
/**
- * CMIS ACL Service interface.
+ * CMIS ACL Service interface. Please refer to the CMIS specification and the OpenCMIS documentation
+ * for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
@@ -31,20 +32,34 @@
public interface CmisAclService {
/**
+ * Returns the ACL of an object.
+ *
+ * <p>
* Bindings: AtomPub, Web Services
+ * </p>
*/
AccessControlList getAcl(CallContext context, String repositoryId, String objectId,
Boolean onlyBasicPermissions, ExtensionsData extension);
/**
+ * Adds ACEs to and removes ACEs from the ACL of an object.
+ *
+ * <p>
* Bindings: Web Services
+ * </p>
*/
AccessControlList applyAcl(CallContext context, String repositoryId, String objectId,
AccessControlList addAces, AccessControlList removeAces, AclPropagation aclPropagation,
ExtensionsData extension);
/**
+ * Applies a new ACL to an object. Since it is not possible to transmit an "add ACL" and a
+ * "remove ACL" via AtomPub, the merging has to be done the client side. The ACEs provided here is
+ * supposed to the new complete ACL.
+ *
+ * <p>
* Bindings: AtomPub
+ * </p>
*/
AccessControlList applyAcl(CallContext context, String repositoryId, String objectId,
AccessControlList aces, AclPropagation aclPropagation);
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisDiscoveryService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisDiscoveryService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisDiscoveryService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisDiscoveryService.java Mon Feb 22 12:40:48 2010
@@ -26,18 +26,33 @@
import org.apache.opencmis.commons.provider.ObjectList;
/**
- * CMIS Discovery Service interface.
+ * CMIS Discovery Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
*/
public interface CmisDiscoveryService {
+ /**
+ * Queries the repository.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public ObjectList query(CallContext context, String repositoryId, String statement,
Boolean searchAllVersions, Boolean includeAllowableActions,
IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems,
BigInteger skipCount, ExtensionsData extension);
+ /**
+ * Retrieves the content changes.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public ObjectList getContentChanges(CallContext context, String repositoryId,
Holder<String> changeLogToken, Boolean includeProperties, String filter,
Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, ExtensionsData extension,
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisMultiFilingService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisMultiFilingService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisMultiFilingService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisMultiFilingService.java Mon Feb 22 12:40:48 2010
@@ -22,17 +22,31 @@
import org.apache.opencmis.commons.provider.ObjectData;
/**
- * CMIS MultiFiling Service interface.
+ * CMIS MultiFiling Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
*/
public interface CmisMultiFilingService {
+ /**
+ * Adds an object to a folder.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectData addObjectToFolder(CallContext context, String repositoryId, String objectId,
String folderId, Boolean allVersions, ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Removes an object to a folder.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectData removeObjectFromFolder(CallContext context, String repositoryId, String objectId,
String folderId, ExtensionsData extension, ObjectInfoHolder objectInfos);
-
}
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisNavigationService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisNavigationService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisNavigationService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisNavigationService.java Mon Feb 22 12:40:48 2010
@@ -30,37 +30,80 @@
import org.apache.opencmis.commons.provider.ObjectParentData;
/**
- * CMIS Navigation Service interface.
+ * CMIS Navigation Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
*/
public interface CmisNavigationService {
+ /**
+ * Get the descendants on a folder.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
List<ObjectInFolderContainer> getDescendants(CallContext context, String repositoryId,
String folderId, BigInteger depth, String filter, Boolean includeAllowableActions,
IncludeRelationships includeRelationships, String renditionFilter,
Boolean includePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Get the folder tree on a folder.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
+ List<ObjectInFolderContainer> getFolderTree(CallContext context, String repositoryId,
+ String folderId, BigInteger depth, String filter, Boolean includeAllowableActions,
+ IncludeRelationships includeRelationships, String renditionFilter,
+ Boolean includePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos);
+
+ /**
+ * Get the children on a folder.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectInFolderList getChildren(CallContext context, String repositoryId, String folderId,
String filter, String orderBy, Boolean includeAllowableActions,
IncludeRelationships includeRelationships, String renditionFilter,
Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Gets the parent on a folder.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectData getFolderParent(CallContext context, String repositoryId, String folderId,
String filter, ExtensionsData extension, ObjectInfoHolder objectInfos);
- List<ObjectInFolderContainer> getFolderTree(CallContext context, String repositoryId,
- String folderId, BigInteger depth, String filter, Boolean includeAllowableActions,
- IncludeRelationships includeRelationships, String renditionFilter,
- Boolean includePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos);
-
+ /**
+ * Gets the parents on an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
List<ObjectParentData> getObjectParents(CallContext context, String repositoryId,
String objectId, String filter, Boolean includeAllowableActions,
IncludeRelationships includeRelationships, String renditionFilter,
Boolean includeRelativePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Gets the the list of checked out documents.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectList getCheckedOutDocs(CallContext context, String repositoryId, String folderId,
String filter, String orderBy, Boolean includeAllowableActions,
IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems,
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisObjectService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisObjectService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisObjectService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisObjectService.java Mon Feb 22 12:40:48 2010
@@ -35,7 +35,8 @@
import org.apache.opencmis.commons.provider.RenditionData;
/**
- * CMIS Object Service interface.
+ * CMIS Object Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
@@ -43,7 +44,7 @@
public interface CmisObjectService {
/**
- * createDocument.
+ * Creates new document.
*
* <p>
* Bindings: Web Services
@@ -55,7 +56,7 @@
ExtensionsData extension);
/**
- * createDocumentFromSource.
+ * Copies a document.
*
* <p>
* Bindings: Web Services
@@ -67,7 +68,7 @@
ExtensionsData extension);
/**
- * createFolder.
+ * Creates a new folder.
*
* <p>
* Bindings: Web Services
@@ -78,7 +79,7 @@
AccessControlList removeAces, ExtensionsData extension);
/**
- * createRelationship.
+ * Create a new relationship.
*
* <p>
* Bindings: AtomPub, Web Services
@@ -89,7 +90,7 @@
ExtensionsData extension);
/**
- * createPolicy.
+ * Creates a new policy.
*
* <p>
* Bindings: Web Services
@@ -100,7 +101,8 @@
AccessControlList removeAces, ExtensionsData extension);
/**
- * create.
+ * Creates a new document, folder or policy. The property "cmis:objectTypeId" defines the type and
+ * implicitly the base type.
*
* <p>
* Bindings: AtomPub
@@ -110,11 +112,18 @@
String folderId, ContentStreamData contentStream, VersioningState versioningState,
List<String> policies, ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Gets the allowable actions.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
AllowableActionsData getAllowableActions(CallContext context, String repositoryId,
String objectId, ExtensionsData extension);
/**
- * getObject.
+ * Gets an object by id.
*
* <p>
* Bindings: AtomPub, Web Services
@@ -126,7 +135,7 @@
ExtensionsData extension, ObjectInfoHolder objectInfos);
/**
- * getProperties.
+ * Gets the properties of an object.
*
* <p>
* Bindings: Web Services
@@ -135,36 +144,102 @@
PropertiesData getProperties(CallContext context, String repositoryId, String objectId,
String filter, ExtensionsData extension);
+ /**
+ * Gets the renditions of an object.
+ *
+ * <p>
+ * Bindings: Web Services
+ * </p>
+ */
List<RenditionData> getRenditions(CallContext context, String repositoryId, String objectId,
String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension);
+ /**
+ * Gets an object by path.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectData getObjectByPath(CallContext context, String repositoryId, String path, String filter,
Boolean includeAllowableActions, IncludeRelationships includeRelationships,
String renditionFilter, Boolean includePolicyIds, Boolean includeAcl,
ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Gets the content of a document.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ContentStreamData getContentStream(CallContext context, String repositoryId, String objectId,
String streamId, BigInteger offset, BigInteger length, ExtensionsData extension);
+ /**
+ * Updates the properties of an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectData updateProperties(CallContext context, String repositoryId, Holder<String> objectId,
Holder<String> changeToken, PropertiesData properties, AccessControlList acl,
ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Moves an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
ObjectData moveObject(CallContext context, String repositoryId, Holder<String> objectId,
String targetFolderId, String sourceFolderId, ExtensionsData extension,
ObjectInfoHolder objectInfos);
+ /**
+ * Deletes an object or cancels a check out. For the Web Services binding this is always an object
+ * deletion. For the AtomPub it depends on the referenced object. If it is a checked out document
+ * then the check out must be canceled. If the object is not a checked out document then the
+ * object must be deleted.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
void deleteObjectOrCancelCheckOut(CallContext context, String repositoryId, String objectId,
Boolean allVersions, ExtensionsData extension);
+ /**
+ * Deletes a folder tree.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
FailedToDeleteData deleteTree(CallContext context, String repositoryId, String folderId,
Boolean allVersions, UnfileObjects unfileObjects, Boolean continueOnFailure,
ExtensionsData extension);
+ /**
+ * Sets a new content.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
void setContentStream(CallContext context, String repositoryId, Holder<String> objectId,
Boolean overwriteFlag, Holder<String> changeToken, ContentStreamData contentStream,
ExtensionsData extension);
+ /**
+ * Deletes a content.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
void deleteContentStream(CallContext context, String repositoryId, Holder<String> objectId,
Holder<String> changeToken, ExtensionsData extension);
}
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisPolicyService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisPolicyService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisPolicyService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisPolicyService.java Mon Feb 22 12:40:48 2010
@@ -24,19 +24,41 @@
import org.apache.opencmis.commons.provider.ObjectData;
/**
- * CMIS Policy Service interface.
+ * CMIS Policy Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
*/
public interface CmisPolicyService {
+ /**
+ * Applies a policy to an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public ObjectData applyPolicy(CallContext context, String repositoryId, String policyId,
String objectId, ExtensionsData extension, ObjectInfoHolder objectInfos);
+ /**
+ * Removes a policy to an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public void removePolicy(CallContext context, String repositoryId, String policyId,
String objectId, ExtensionsData extension);
+ /**
+ * Get all applied policies of an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public List<ObjectData> getAppliedPolicies(CallContext context, String repositoryId,
String objectId, String filter, ExtensionsData extension, ObjectInfoHolder objectInfos);
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRelationshipService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRelationshipService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRelationshipService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRelationshipService.java Mon Feb 22 12:40:48 2010
@@ -25,13 +25,21 @@
import org.apache.opencmis.commons.provider.ObjectList;
/**
- * CMIS Relationship Service interface.
+ * CMIS Relationship Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
*/
public interface CmisRelationshipService {
+ /**
+ * Gets the relationships of an object.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public ObjectList getObjectRelationships(CallContext context, String repositoryId,
String objectId, Boolean includeSubRelationshipTypes,
RelationshipDirection relationshipDirection, String typeId, String filter,
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRepositoryService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRepositoryService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRepositoryService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisRepositoryService.java Mon Feb 22 12:40:48 2010
@@ -28,29 +28,56 @@
import org.apache.opencmis.commons.provider.RepositoryInfoData;
/**
- * CMIS Repository Service interface.
+ * CMIS Repository Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
*/
public interface CmisRepositoryService {
+ /**
+ * Gets all repository infos.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
List<RepositoryInfoData> getRepositoryInfos(CallContext context, ExtensionsData extension);
+ /**
+ * Gets the repository info of the specified repository.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
RepositoryInfoData getRepositoryInfo(CallContext context, String repositoryId,
ExtensionsData extension);
+ /**
+ * Gets the children of the given type.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
TypeDefinitionList getTypeChildren(CallContext context, String repositoryId, String typeId,
Boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension);
+ /**
+ * Gets the descendants of the given type.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
List<TypeDefinitionContainer> getTypeDescendants(CallContext context, String repositoryId,
String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension);
/**
- * getTypeDefinition.
- *
- * Must return a valid type or throw an exception.
+ * Gets the type definition of the given type. It must return a valid type or throw an exception.
*
* <p>
* Bindings: AtomPub, Web Services
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisVersioningService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisVersioningService.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisVersioningService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/CmisVersioningService.java Mon Feb 22 12:40:48 2010
@@ -28,11 +28,35 @@
import org.apache.opencmis.commons.provider.ObjectData;
import org.apache.opencmis.commons.provider.PropertiesData;
+/**
+ * CMIS Versioning Service interface. Please refer to the CMIS specification and the OpenCMIS
+ * documentation for details.
+ *
+ * @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
+ *
+ */
public interface CmisVersioningService {
+ /**
+ * Checks out a document.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public ObjectData checkOut(CallContext context, String repositoryId, Holder<String> objectId,
ExtensionsData extension, Holder<Boolean> contentCopied, ObjectInfoHolder objectInfos);
+ /**
+ * Cancels a check out.
+ *
+ * <p>
+ * Bindings: Web Services
+ * </p>
+ *
+ * @see CmisObjectService#deleteObjectOrCancelCheckOut(CallContext, String, String, Boolean,
+ * ExtensionsData)
+ */
public void cancelCheckOut(CallContext context, String repositoryId, String objectId,
ExtensionsData extension);
@@ -42,9 +66,11 @@
AccessControlList removeAces, ExtensionsData extension, ObjectInfoHolder objectInfos);
/**
- * getObjectOfLatestVersion.
+ * Gets the latest version an object.
*
- * <p>Bindings: AtomPub, Web Services</p>
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
*/
public ObjectData getObjectOfLatestVersion(CallContext context, String repositoryId,
String versionSeriesId, Boolean major, String filter, Boolean includeAllowableActions,
@@ -52,13 +78,22 @@
Boolean includeAcl, ExtensionsData extension, ObjectInfoHolder objectInfos);
/**
- * getPropertiesOfLatestVersion.
+ * Gets the properties of latest version an object.
*
- * <p>Bindings: Web Services</p>
+ * <p>
+ * Bindings: Web Services
+ * </p>
*/
public PropertiesData getPropertiesOfLatestVersion(CallContext context, String repositoryId,
String versionSeriesId, Boolean major, String filter, ExtensionsData extension);
+ /**
+ * Gets the list of all versions of a document.
+ *
+ * <p>
+ * Bindings: AtomPub, Web Services
+ * </p>
+ */
public List<ObjectData> getAllVersions(CallContext context, String repositoryId,
String versionSeriesId, String filter, Boolean includeAllowableActions,
ExtensionsData extension, ObjectInfoHolder objectInfos);
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfo.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfo.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfo.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfo.java Mon Feb 22 12:40:48 2010
@@ -32,49 +32,131 @@
*/
public interface ObjectInfo {
+ /**
+ * Returns the object id.
+ */
String getId();
+ /**
+ * Returns the object name.
+ */
String getName();
+ /**
+ * Returns the creator.
+ */
String getCreatedBy();
+ /**
+ * Returns the creation date.
+ */
GregorianCalendar getCreationDate();
+ /**
+ * Returns the last modification date.
+ */
GregorianCalendar getLastModificationDate();
+ /**
+ * Returns the type id.
+ */
String getTypeId();
+ /**
+ * Returns the base type.
+ */
BaseObjectTypeIds getBaseType();
+ /**
+ * Returns <code>true</code> if the object is a document and if it is the current version or it is
+ * not versionable, <code>false</code> otherwise.
+ */
boolean isCurrentVersion();
+ /**
+ * Returns <code>true</code> if the object is a document and it is versionable, <code>false</code>
+ * otherwise.
+ */
boolean hasVersionHistory();
+ /**
+ * Returns the working copy id if the object is a document and a working copy exists,
+ * <code>null</code> otherwise.
+ */
String getWorkingCopyId();
+ /**
+ * Returns the original id of the working copy if the object is a document and a working copy,
+ * <code>null</code> otherwise.
+ */
String getWorkingCopyOriginalId();
+ /**
+ * Returns <code>true</code> if the object is a document and has content, <code>false</code>
+ * otherwise.
+ */
boolean hasContent();
+ /**
+ * Returns the content type of the content if the object is a document and has content,
+ * <code>null</code> otherwise.
+ */
String getContentType();
+ /**
+ * Returns the file name of the content if the object is a document and has content,
+ * <code>null</code> otherwise.
+ */
String getFileName();
+ /**
+ * Returns rendition information if the object has renditions, <code>null</code> otherwise.
+ */
List<RenditionInfo> getRenditionInfos();
+ /**
+ * Returns <code>true</code> if the object supports relationships even if no relationships exist,
+ * <code>false</code> otherwise.
+ */
boolean supportsRelationships();
+ /**
+ * Returns <code>true</code> if the object supports policies even if no policies are applied,
+ * <code>false</code> otherwise.
+ */
boolean supportsPolicies();
+ /**
+ * Returns <code>true</code> if the object has an ACL, <code>false</code> otherwise.
+ */
boolean hasAcl();
+ /**
+ * Returns <code>true</code> if the object has at least one parent, <code>false</code> otherwise.
+ */
boolean hasParent();
+ /**
+ * Returns <code>true</code> if the object is a folder and supports <code>getDescendants</code>,
+ * <code>false</code> otherwise.
+ */
boolean supportsDescendants();
+ /**
+ * Returns <code>true</code> if the object is a folder and supports <code>getFolderTree</code>,
+ * <code>false</code> otherwise.
+ */
boolean supportsFolderTree();
+ /**
+ * Returns the list of ids of the relationships that originate from this object, <code>null</code>
+ * is no such relationships exist.
+ */
List<String> getRelationshipSourceIds();
+ /**
+ * Returns the list of ids of the relationships that point to this object, <code>null</code> is no
+ * such relationships exist.
+ */
List<String> getRelationshipTargetIds();
}
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfoHolder.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfoHolder.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfoHolder.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/ObjectInfoHolder.java Mon Feb 22 12:40:48 2010
@@ -19,8 +19,8 @@
package org.apache.opencmis.server.spi;
/**
- * This class contains information about an object. This data is used to generate the appropriate
- * links in AtomPub entries and feeds.
+ * This class contains information about a set of objects. This data is used to generate the
+ * appropriate links in AtomPub entries and feeds.
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
*
Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/RenditionInfo.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/RenditionInfo.java?rev=912548&r1=912547&r2=912548&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/RenditionInfo.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/RenditionInfo.java Mon Feb 22 12:40:48 2010
@@ -29,13 +29,28 @@
*/
public interface RenditionInfo {
+ /**
+ * Return the id of the rendition.
+ */
String getId();
+ /**
+ * Return the content type of the rendition.
+ */
String getContenType();
+ /**
+ * Return the kind of the rendition.
+ */
String getKind();
+ /**
+ * Return the title of the rendition.
+ */
String getTitle();
+ /**
+ * Return the size of the rendition in bytes.
+ */
BigInteger getLength();
}
Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/package.html
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/package.html?rev=912548&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/package.html (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/package.html Mon Feb 22 12:40:48 2010
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<html>
+<head>
+</head>
+<body bgcolor="white">
+
+Provides interfaces and classes for CMIS repository connectors.
+
+<h2>Entry point</h2>
+
+<p>A repository connector has to extend the {@link
+org.apache.opencmis.server.spi.AbstractServicesFactory
+AbstractServicesFactory} class. This class manages the objects that
+implement the interfaces of the different CMIS services. There is only
+one active instance of this class per servlet context.</p>
+<p>The class name has to be set in the configuration file <code>/WEB-INF/classes/repository.properties</code>
+(<code>class=...</code>). The configuration file can contain more
+key-value pairs. They are passed to the {@link
+org.apache.opencmis.server.spi.AbstractServicesFactory#init init()}
+method when the servlet context starts up.</p>
+
+<h2>Common operation patterns</h2>
+
+<ul>
+ <li>The operations take the same parameters as described in the
+ CMIS specification. There are a few exceptions that are explained in
+ this JavaDoc.</li>
+
+ <li>The first parameter for all operations is a {@link
+ org.apache.opencmis.server.spi.CallContext CallContext} object. It is
+ used to transport authentication information to the connector.</li>
+
+ <li>Some operations have an additional {@link
+ org.apache.opencmis.server.spi.ObjectInfoHolder ObjectInfoHolder}
+ parameter. This object is only set if the call is an AtomPub call.
+ AtomPub entries and feeds require additional data about the objects
+ that should be returned AND the object that has been passed. In case of
+ a {@link
+ org.apache.opencmis.server.spi.CmisNavigationService#getChildren
+ getChildren()} call, for example, data about the children AND the
+ folder itself would be required. {@link
+ org.apache.opencmis.server.spi.ObjectInfoHolder ObjectInfoHolder}
+ collects {@link org.apache.opencmis.server.spi.ObjectInfo ObjectInfo}
+ objects.</li>
+</ul>
+
+</body>
+</html>
Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-spi/src/main/java/org/apache/opencmis/server/spi/package.html
------------------------------------------------------------------------------
svn:eol-style = native