|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.xcmis.spi.Connection
public abstract class Connection
Connection to CMIS storage. It should be used for all operation with storage.
The Connection object is associated with Storage
object. When Connection is no longer needed then method
close() should be used to release all associated resources. After
this connection should not be in use any more.
| Field Summary | |
|---|---|
protected static int |
CREATE
|
protected Storage |
storage
|
protected static int |
UPDATE
|
protected static int |
VERSION
|
| Constructor Summary | |
|---|---|
Connection(Storage storage)
|
|
| Method Summary | |
|---|---|
void |
addObjectToFolder(String objectId,
String folderId,
boolean allVersions)
Adds an existing fileable non-folder object to a folder. |
String |
addType(TypeDefinition type)
Adds the new Object-type. |
void |
applyACL(String objectId,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
AccessControlPropagation propagation)
Adds or(and) removes the given Access Control Entries to(from) the Access Control List of object. |
void |
applyPolicy(String policyId,
String objectId)
Applies a specified policy to an object. |
void |
cancelCheckout(String documentId)
Discard the check-out operation. |
protected abstract void |
checkConnection()
Check is connection may be used at the moment, e.g. |
String |
checkin(String documentId,
boolean major,
Map<String,Property<?>> properties,
ContentStream content,
String checkinComment,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
Check-in Private Working Copy. |
String |
checkout(String documentId)
Check-out document. |
abstract void |
close()
Close the connection and release underlying resources. |
String |
createDocument(String parentId,
Map<String,Property<?>> properties,
ContentStream content,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies,
VersioningState versioningState)
Create a document object. |
String |
createDocumentFromSource(String sourceId,
String parentId,
Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies,
VersioningState versioningState)
Create a document object as a copy of the given source document in the specified parent folder parentId. |
String |
createFolder(String parentId,
Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
Create a folder object. |
String |
createPolicy(String parentId,
Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
Create a policy object. |
String |
createRelationship(Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
Create a relationship object. |
String |
deleteContentStream(String documentId,
ChangeTokenHolder changeTokenHolder)
Delete the content stream for the specified Document object. |
void |
deleteObject(String objectId,
Boolean deleteAllVersions)
Delete the specified object. |
Collection<String> |
deleteTree(String folderId,
Boolean deleteAllVersions,
UnfileObject unfileObject,
Boolean continueOnFailure)
Delete the specified folder object and all of its child- and descendant-objects. |
List<AccessControlEntry> |
getACL(String objectId,
boolean onlyBasicPermissions)
Get the ACL currently applied to the specified object. |
AllowableActions |
getAllowableActions(String objectId)
Get the list of allowable actions for an Object. |
List<CmisObject> |
getAllVersions(String versionSeriesId,
boolean includeAllowableActions,
boolean includeObjectInfo,
String propertyFilter)
Get all documents in version series. |
List<CmisObject> |
getAppliedPolicies(String objectId,
boolean includeObjectInfo,
String propertyFilter)
Gets the list of policies currently applied to the specified object. |
ItemsList<CmisObject> |
getCheckedOutDocs(String folderId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter,
String orderBy,
int maxItems,
int skipCount)
Documents that are checked out that the user has access to. |
ItemsList<CmisObject> |
getChildren(String folderId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePathSegments,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter,
String orderBy,
int maxItems,
int skipCount)
Get the list of child objects contained in the specified folder. |
protected CmisObject |
getCmisObject(ObjectData object,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIds,
boolean includeACL,
boolean includeObjectInfo,
PropertyFilter parsedPropertyFilter,
RenditionFilter parsedRenditionFilter)
|
ItemsList<CmisObject> |
getContentChanges(ChangeLogTokenHolder changeLogTokenHolder,
boolean includeProperties,
String propertyFilter,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
int maxItems)
Gets content changes. |
ContentStream |
getContentStream(String objectId,
String streamId)
Get document's content stream. |
List<ItemsTree<CmisObject>> |
getDescendants(String folderId,
int depth,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePathSegments,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
Get the collection of descendant objects contained in the specified folder and any (according to depth) of its child-folders. |
CmisObject |
getFolderParent(String folderId,
boolean includeObjectInfo,
String propertyFilter)
Get parent for specified folder. |
List<ItemsTree<CmisObject>> |
getFolderTree(String folderId,
int depth,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePathSegments,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
Get the collection of descendant folder objects contained in the specified folder and any (according to depth) of its child-folders. |
CmisObject |
getObject(String objectId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
Get object. |
CmisObject |
getObjectByPath(String path,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
Get object by specified path. |
CmisObject |
getObjectOfLatestVersion(String versionSeriesId,
boolean major,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
Get the latest Document object in the version series. |
List<ObjectParent> |
getObjectParents(String objectId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includeRelativePathSegment,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
Gets the parent folder(s) for the specified object. |
ItemsList<CmisObject> |
getObjectRelationships(String objectId,
RelationshipDirection direction,
String typeId,
boolean includeSubRelationshipTypes,
boolean includeAllowableActions,
boolean includeObjectInfo,
String propertyFilter,
int maxItems,
int skipCount)
Get all or a subset of relationships associated with an independent object. |
CmisObject |
getProperties(String objectId,
boolean includeObjectInfo,
String propertyFilter)
Get object's properties. |
CmisObject |
getPropertiesOfLatestVersion(String versionSeriesId,
boolean major,
boolean includeObjectInfo,
String propertyFilter)
Get properties of latest version in version series. |
List<Rendition> |
getRenditions(String objectId,
String renditionFilter,
int maxItems,
int skipCount)
Get the list of associated Renditions for the specified object. |
Storage |
getStorage()
Gets the storage associated to this connection. |
ItemsList<TypeDefinition> |
getTypeChildren(String typeId,
boolean includePropertyDefinition,
int maxItems,
int skipCount)
Set of object types. |
TypeDefinition |
getTypeDefinition(String typeId)
Get type definition for type typeId include property
definition, see getTypeDefinition(String, boolean). |
TypeDefinition |
getTypeDefinition(String typeId,
boolean includePropertyDefinition)
Get type definition for type typeId. |
List<ItemsTree<TypeDefinition>> |
getTypeDescendants(String typeId,
int depth,
boolean includePropertyDefinition)
Get all descendants of specified typeId in hierarchy. |
String |
moveObject(String objectId,
String targetFolderId,
String sourceFolderId)
Moves the specified file-able object from one folder to another. |
ItemsList<CmisObject> |
query(String statement,
boolean searchAllVersions,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includeObjectInfo,
String renditionFilter,
int maxItems,
int skipCount)
Executes a CMIS-SQL query statement against the contents of the CMIS Storage. |
void |
removeObjectFromFolder(String objectId,
String folderId)
Remove an existing fileable non-folder object from a folder. |
void |
removePolicy(String policyId,
String objectId)
Removes a specified policy from an object. |
void |
removeType(String typeId)
Remove type definition for type typeId . |
String |
setContentStream(String documentId,
ContentStream content,
ChangeTokenHolder changeTokenHolder,
Boolean overwriteFlag)
Sets the content stream for the specified Document object. |
String |
updateProperties(String objectId,
ChangeTokenHolder changeTokenHolder,
Map<String,Property<?>> properties)
Update object properties. |
protected abstract void |
validateChangeToken(ObjectData object,
String changeToken)
Validate change token provided by caller with current change token of object. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final int CREATE
protected static final int UPDATE
protected static final int VERSION
protected Storage storage
| Constructor Detail |
|---|
public Connection(Storage storage)
| Method Detail |
|---|
public void addObjectToFolder(String objectId,
String folderId,
boolean allVersions)
throws ObjectNotFoundException,
ConstraintException
objectId - the id of the objectfolderId - the target folder id into which the object is to be filedallVersions - to add all versions of the object to the folder or only
current document if the storage supports version-specific filing
ObjectNotFoundException - if objectId or
folderId were not found
ConstraintException - MUST throw this exception if the
cmis:objectTypeId property value of the given object is NOT in the
list of AllowedChildObjectTypeIds of the parent-folder specified
by folderId or if allVersions is false
but version-specific filling capability is not supported by
storage
InvalidArgumentException - if objectId is id of object
that is not fileable or if folderId is id of object
that base type is not Folder
NotSupportedException - if multifiling feature is not supported by
backend storageRepositoryCapabilities.isCapabilityVersionSpecificFiling()
public String addType(TypeDefinition type)
throws ConstraintException,
StorageException
type - type definition
ConstraintException - if any of the following conditions are met:
TypeDefinition.getId()TypeDefinition.getBaseId()TypeDefinition.getParentId()StorageException - if type can't be added (save changes) cause to
storage internal problem
public void applyACL(String objectId,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
AccessControlPropagation propagation)
throws ObjectNotFoundException,
ConstraintException
objectId - the identifier of object for which should be applied
specified ACEsaddACL - the ACEs that will be added from object's ACL. May be
null or empty listremoveACL - the ACEs that will be removed from object's ACL. May be
null or empty listpropagation - specifies how ACEs should be handled:
ObjectNotFoundException - if object with objectId does
not exist
ConstraintException - if any of the following conditions are met:
falseNotSupportedException - if managing of ACL is not supported by
backend storage
public void applyPolicy(String policyId,
String objectId)
throws ConstraintException,
ObjectNotFoundException
policyId - the policy Id to be applied to objectobjectId - the target object Id for policy
ObjectNotFoundException - if object with objectId or
policyId does not exist
ConstraintException - if object with id objectId is not
controllable by policy
InvalidArgumentException - if object with id policyId
is not object which base type is Policy
public void cancelCheckout(String documentId)
throws ObjectNotFoundException,
ConstraintException,
UpdateConflictException,
VersioningException,
StorageException
documentId - document id. May be PWC id or id of any other Document
in Version Series
ObjectNotFoundException - if object with documentId
does not exist
ConstraintException - if the object is not versionable
UpdateConflictException - if update an object that is no longer
current
VersioningException - if object is a non-current document version
StorageException - if PWC can't be removed from storage cause to
storage internal problem
InvalidArgumentException - if object with documentId is
not Document or if PWC in version series does not exist
public String checkin(String documentId,
boolean major,
Map<String,Property<?>> properties,
ContentStream content,
String checkinComment,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
throws ObjectNotFoundException,
ConstraintException,
VersioningException,
NameConstraintViolationException,
UpdateConflictException,
StreamNotSupportedException,
StorageException
documentId - document idmajor - true is new version should be marked as major
false otherwiseproperties - properties to be applied to new versioncontent - content of documentcheckinComment - check-in commentaddACL - set Access Control Entry to be applied for newly created
version of document. May be null or empty listremoveACL - set Access Control Entry that MUST be removed from the
newly created version of document. May be null or
empty listpolicies - list of policy id that MUST be applied to the newly
created document. May be null or empty collection
ObjectNotFoundException - if object with documentId
does not exist
ConstraintException - if the object is not versionable
VersioningException - if object is a not PWC
NameConstraintViolationException - if cmis:name specified in
properties throws conflict
UpdateConflictException - if update an object that is no longer
current
StreamNotSupportedException - if document does not supports content
stream
StorageException - if changes can't be saved in storage cause to
storage internal problem
InvalidArgumentException - if object with documentId is
not Document
public String checkout(String documentId)
throws ObjectNotFoundException,
ConstraintException,
UpdateConflictException,
VersioningException,
StorageException
documentId - document id. Storage MAY allow checked-out ONLY latest
version of Document
ObjectNotFoundException - if object with documentId
does not exist
ConstraintException - if the object is not versionable
UpdateConflictException - if update an object that is no longer
current
VersioningException - if one of the following conditions are met:
StorageException - if newly created PWC can't be saved in storage
cause to storage internal problem
InvalidArgumentException - if object with documentId is
not Documentpublic abstract void close()
public String createDocument(String parentId,
Map<String,Property<?>> properties,
ContentStream content,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies,
VersioningState versioningState)
throws ObjectNotFoundException,
TypeNotFoundException,
ConstraintException,
StreamNotSupportedException,
NameConstraintViolationException,
StorageException
parentId - parent folder id for object. May be null if storage
supports unfilingproperties - properties that will be applied to newly created
document. If properties contains some property which
updatability is other then Updatability.ONCREATE or
Updatability.READWRITE this properties will be ignoredcontent - the document content. May be null. MUST be
required if the type requires it.addACL - Access Control Entries that MUST added for newly created
document, either using the ACL from parentId if
specified, or being applied if no parentId is
specified. May be null or empty listremoveACL - set Access Control Entries that MUST be removed from the
newly created document, either using the ACL from
parentId if specified, or being ignored if no
parentId is specified. May be null or
empty listpolicies - list of policy id that MUST be applied to the newly
created document. May be null or empty collectionversioningState - enumeration specifying what the versioning state of
the newly created object shall be
ObjectNotFoundException - if target folder with specified id
parentId does not exist
TypeNotFoundException - if type specified by property
cmis:objectTypeId does not exist
ConstraintException - if any of following condition are met:
cmis:objectTypeId property value is not an object
type whose baseType is Documentcmis:objectTypeId property value is not in the
list of AllowedChildObjectTypeIds of the parent-folder specified
by parentIdcmis:objectTypeId property value is
set to required and no content input parameter is providedcmis:objectTypeId property value is set to
false and a value for the versioningState input
parameter is provided that is something other than nonecmis:objectTypeId property value is set to
true and the value for the versioningState input
parameter is provided that is nonecmis:objectTypeId property value is
set to false and at least one policy is providedcmis:objectTypeId property value is
set to false and at least one ACE is providedStreamNotSupportedException - if the contentStreamAllowed attribute
of the object type definition specified by the
cmis:objectTypeId property value is set to 'not
allowed' and a contentStream input parameter is provided
NameConstraintViolationException - violation is detected with the
given cmis:name property value. Storage MAY chose
other name which does not conflict
StorageException - if new Document can't be saved in storage cause
to storage internal problem
public String createDocumentFromSource(String sourceId,
String parentId,
Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies,
VersioningState versioningState)
throws ObjectNotFoundException,
ConstraintException,
NameConstraintViolationException,
StorageException
parentId.
sourceId - id for the source documentparentId - parent folder id for object. May be null if storage
supports unfilingproperties - properties that will be applied to newly created
documentaddACL - Access Control Entries that MUST added for newly created
document, either using the ACL from parentId if
specified, or being applied if no parentId is
specified. May be null or empty listremoveACL - set Access Control Entries that MUST be removed from the
newly created document, either using the ACL from
parentId if specified, or being ignored if no
parentId is specified. May be null or
empty listpolicies - list of policy id that MUST be applied to the newly
created document. May be null or empty collectionversioningState - enumeration specifying what the versioning state of
the newly created object shall be
ObjectNotFoundException - if target folder with specified id
parentId or source document with id
sourceId does not exist
ConstraintException - if any of following condition are met:
cmis:objectTypeId property
value is NOT in the list of AllowedChildObjectTypeIds of the
parent-folder specified by parentIdcmis:objectTypeId property value is set to
false and a value for the versioningState input
parameter is provided that is something other than nonecmis:objectTypeId property value is set to
true and the value for the versioningState input
parameter is provided that is nonecmis:objectTypeId property value is
set to false and at least one policy is providedcmis:objectTypeId property value is
set to false and at least one ACE is providedNameConstraintViolationException - violation is detected with the
given cmis:name property value. Storage MAY chose
other name which does not conflict
StorageException - if new Document can't be saved in storage cause
to storage internal problem
public String createFolder(String parentId,
Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
throws ObjectNotFoundException,
TypeNotFoundException,
ConstraintException,
NameConstraintViolationException,
StorageException
parentId - parent folder id for new folderproperties - properties that will be applied to newly created folderaddACL - Access Control Entries that MUST added for newly created
Folder, either using the ACL from parentId if
specified, or being applied if no parentId is
specified. May be null or empty listremoveACL - set Access Control Entry that MUST be removed from the
newly created folder, either using the ACL from
parentId if specified, or being ignored if no
parentId is specified. May be null or
empty listpolicies - list of policy id that MUST be applied to the newly
created folder. May be null or empty collection
ObjectNotFoundException - if target folder with specified id
parentId does not exist
TypeNotFoundException - if type specified by property
cmis:objectTypeId does not exist
ConstraintException - if any of following condition are met:
cmis:objectTypeId property value is not an object
type whose baseType is Foldercmis:objectTypeId property value is not in the
list of AllowedChildObjectTypeIds of the parent-folder specified
by parentIdcmis:objectTypeId property value is
set to false and at least one policy is providedcmis:objectTypeId property value is
set to false and at least one ACE is providedNameConstraintViolationException - violation is detected with the
given cmis:name property value. Storage MAY chose
other name which does not conflict.
StorageException - if new Folder can't be saved in storage cause to
storage internal problem
public String createPolicy(String parentId,
Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
throws ObjectNotFoundException,
TypeNotFoundException,
ConstraintException,
NameConstraintViolationException,
StorageException
parentId - parent folder id should be null if policy
object type is not fileableproperties - properties to be applied to newly created PolicyaddACL - Access Control Entries that MUST added for newly created
Policy, either using the ACL from parentId if
specified, or being applied if no parentId is
specified. May be null or empty listremoveACL - set Access Control Entry that MUST be removed from the
newly created Policy, either using the ACL from
parentId if specified, or being ignored if no
parentId is specified. May be null or
empty listpolicies - list of policy id that MUST be applied to the newly
created policy. May be null or empty collection
ObjectNotFoundException - if target folder with specified id
parentId does not exist
TypeNotFoundException - if type specified by property
cmis:objectTypeId does not exist
ConstraintException - if any of following condition are met:
cmis:objectTypeId property value is not an object
type whose baseType is Policycmis:objectTypeId property value is NOT in the
list of AllowedChildObjectTypeIds of the parent-folder specified
by parentIdcmis:objectTypeId property value is
set to false and at least one policy is providedcmis:objectTypeId property value is
set to false and at least one ACE is providedNameConstraintViolationException - violation is detected with the
given cmis:name property value. Storage MAY chose
other name which does not conflict
StorageException - if new Policy can't be saved in storage cause to
storage internal problem
public String createRelationship(Map<String,Property<?>> properties,
List<AccessControlEntry> addACL,
List<AccessControlEntry> removeACL,
Collection<String> policies)
throws ObjectNotFoundException,
TypeNotFoundException,
ConstraintException,
NameConstraintViolationException,
StorageException
properties - properties to be applied to newly created relationshipaddACL - set Access Control Entry to be applied for newly created
relationship. May be null or empty listremoveACL - set Access Control Entry that MUST be removed from the
newly created relationship. May be null or empty listpolicies - list of policy id that MUST be applied to the newly
created relationship. May be null or empty collection
ObjectNotFoundException - if cmis:sourceId or
cmis:targetId property value is id of object that
can't be found in storage
TypeNotFoundException - if type specified by property
cmis:objectTypeId does not exist
ConstraintException - if any of following condition are met:
cmis:objectTypeId property value is not an object
type whose baseType is Relationshipcmis:objectTypeId property valuecmis:objectTypeId property valuecmis:objectTypeId property value is
set to false and at least one policy is providedcmis:objectTypeId property value is
set to false and at least one ACE is providedNameConstraintViolationException - violation is detected with the
given cmis:name property value. Storage MAY chose
other name which does not conflict
StorageException - if new Relationship can't be saved in storage
cause to storage internal problem
public String deleteContentStream(String documentId,
ChangeTokenHolder changeTokenHolder)
throws ObjectNotFoundException,
ConstraintException,
UpdateConflictException,
VersioningException,
StorageException
documentId - document idchangeTokenHolder - is used for optimistic locking and/or concurrency
checking to ensure that user updates do not conflict. This
parameter must never be null but
TokenHolder.getValue() may return null
if caller does not provide change token. After successful deleting
content stream changeTokenHolder may contains updated
change token if backend support this feature
NullPointerException - if changeTokenHolder is
null
ObjectNotFoundException - if document with specified id
documentId does not exist
ConstraintException - if object's type definition
contentStreamAllowed attribute is set to required
UpdateConflictException - if update an object that is no longer
current. Storage determine this by using change token
VersioningException - if object is a non-current (latest) document
version and updatiing other then latest version is not supported
StorageException - if content of document can not be removed cause
to storage internal problem
public void deleteObject(String objectId,
Boolean deleteAllVersions)
throws ObjectNotFoundException,
ConstraintException,
UpdateConflictException,
VersioningException,
StorageException
objectId - the object iddeleteAllVersions - if true (Default if not specified)
then delete all versions of the document. If false,
delete only the document object specified. This parameter will be
ignored if parameter when objectId non-document object
or non-versionable document
ObjectNotFoundException - if object with specified id
objectId does not exist
ConstraintException - if objectId is folder that contains one or
more children or is root folder
UpdateConflictException - if object that is no longer current (as
determined by the storage)
VersioningException - if object can not be removed cause to
versioning conflict
StorageException - if object can not be removed cause to storage
internal problem
public Collection<String> deleteTree(String folderId,
Boolean deleteAllVersions,
UnfileObject unfileObject,
Boolean continueOnFailure)
throws ObjectNotFoundException,
ConstraintException,
UpdateConflictException
folderId - folder iddeleteAllVersions - if true (Default if not specified)
then delete all versions of the document. If false,
delete only the document object specified. This parameter will be
ignored if parameter when objectId non-document object
or non-versionable documentunfileObject - an enumeration specifying how the storage MUST process
file-able child objects:
continueOnFailure - if true, then the stprage SHOULD
continue attempting to perform this operation even if deletion of a
child object in the specified folder cannot be deleted. Default is
false.
ObjectNotFoundException - if folder with specified id
folderId does not exist
ConstraintException - if folder with specified id
folderId is root folder
UpdateConflictException - if some object(s) that is no longer
current (as determined by the storage)
public List<AccessControlEntry> getACL(String objectId,
boolean onlyBasicPermissions)
throws ObjectNotFoundException
objectId - identifier of objectonlyBasicPermissions - if true then return only the CMIS
Basic permissions
ObjectNotFoundException - if objectId or does not
exists
public AllowableActions getAllowableActions(String objectId)
throws ObjectNotFoundException
objectId - object id
ObjectNotFoundException - if object with specified id
objectId does not exist
public List<CmisObject> getAllVersions(String versionSeriesId,
boolean includeAllowableActions,
boolean includeObjectInfo,
String propertyFilter)
throws ObjectNotFoundException,
FilterNotValidException
versionSeriesId - version series idincludeAllowableActions - true if allowable actions
should be included in response false otherwiseincludeObjectInfo - if true then in result must be
included external information about each object. See
ObjectInfo. Particular this info may be used by REST Atom
binding for building correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of properties
versionSeriesIdsorted by
'cmis:creationDate' descending. Even not versionable documents
must have exactly one document in version series
ObjectNotFoundException - if object with specified id
versionSeriesId does not exist
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public List<CmisObject> getAppliedPolicies(String objectId,
boolean includeObjectInfo,
String propertyFilter)
throws ObjectNotFoundException,
FilterNotValidException
objectId - the object idincludeObjectInfo - if true then in result must be
included external information about each object. See
ObjectInfo. Particular this info may be used by REST Atom
binding for building correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of properties
ObjectNotFoundException - if object with objectId does
not exist
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public ItemsList<CmisObject> getCheckedOutDocs(String folderId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter,
String orderBy,
int maxItems,
int skipCount)
throws ObjectNotFoundException,
InvalidArgumentException,
FilterNotValidException
folderId - folder from which get checked-out documents if null get
all checked-out documents in storageincludeAllowableActions - if true then allowable actions
should be included in responseincludeRelationships - indicates what relationships of object must be
returnedincludeObjectInfo - if true then result must include
external information about each object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
orderBy - comma-separated list of query names and the ascending
modifier 'ASC' or the descending modifier 'DESC' for each query
name. A storage's handling of the orderBy input is storage-specific
and storage may ignore this parameter if it not able sort itemsmaxItems - max number of items in response. If -1 then no limit of
max items in result setskipCount - the skip items. Must be equals or greater the 0
ObjectNotFoundException - if folderId is not
null and object with folderId was not
found
InvalidArgumentException - if folderId is id of object
that base type is not a Folder
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public ItemsList<CmisObject> getChildren(String folderId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePathSegments,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter,
String orderBy,
int maxItems,
int skipCount)
throws ObjectNotFoundException,
InvalidArgumentException,
FilterNotValidException
folderId - folder idincludeAllowableActions - if true then allowable actions
for each child object should be included in responseincludeRelationships - indicates what relationships of object must be
returnedincludePathSegments - if true then returns a PathSegment
for each child objectincludeObjectInfo - if true then result must include
external information about each object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
orderBy - comma-separated list of query names and the ascending
modifier 'ASC' or the descending modifier 'DESC' for each query
name. A storage's handling of the orderBy input is storage-specific
and storage may ignore this parameter if it not able sort items.
May be null if sorting is not requiredmaxItems - max number of items in response. If -1 then no limit of
max items in result setskipCount - the skip items. Must be equals or greater the 0
ObjectNotFoundException - if object with folderId was
not found
InvalidArgumentException - if object with id folderId
is not a Folder
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public ItemsList<CmisObject> getContentChanges(ChangeLogTokenHolder changeLogTokenHolder,
boolean includeProperties,
String propertyFilter,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
int maxItems)
throws ConstraintException,
FilterNotValidException
changeLogTokenHolder - if ChangeLogTokenHolder#getToken() return
value other than null, then change event corresponded
to the value of the specified change log token will be returned as
the first result in the output. If not specified, then will be
returned the first change event recorded in the change log. When
set of changes is returned then changeLogToken must
contains log token corresponded to the last change event. Then it
may be used by client for getting next set on change events.includeProperties - if true, then the result includes
the updated property values for 'updated' change events. If
false, then the result will not include the updated
property values for 'updated' change events. The single exception
to this is that the objectId MUST always be includedpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of properties. This parameter will be
ignored includeProperties is falseincludePolicyIDs - if true, then the include the IDs of
Policies applied to the object referenced in each change event, if
the change event modified the set of policies applied to the objectincludeAcl - if true, then include ACL applied to the
object referenced in each change eventincludeObjectInfo - if true then result must include
external information about each object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentmaxItems - max number of items in response. If -1 then no limit of
max items in result set
NullPointerException - if changeLogTokenHolder is
null
ConstraintException - if the event corresponding to the change log
token provided as an input parameter is no longer available in the
change log. (E.g. because the change log was truncated)
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public ContentStream getContentStream(String objectId,
String streamId)
throws ObjectNotFoundException,
ConstraintException
objectId - object idstreamId - identifier for the rendition stream, when used to get a
rendition stream. For Documents, if not provided then this method
returns the content stream. For Folders (if Folders supports
renditions) this parameter must be provided
ConstraintException if
object has not content stream. Never return null
ObjectNotFoundException - if object with specified id
objectId does not exist
ConstraintException - if the object specified by objectId does NOT
have a content stream or rendition stream
public List<ItemsTree<CmisObject>> getDescendants(String folderId,
int depth,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePathSegments,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
throws ObjectNotFoundException,
FilterNotValidException
depth) of its child-folders.
2.2.3.2 getDescendants
folderId - folder iddepth - depth for discover descendants if -1 then discovery
descendants at all levelsincludeAllowableActions - if true then allowable actions
for each object should be included in responseincludeRelationships - indicates what relationships of object must be
returnedincludePathSegments - if true then returns a PathSegment
for each child objectincludeObjectInfo - if true then result must include
external information about each object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
ObjectNotFoundException - if object with folderId was
not found
InvalidArgumentException - if object with id folderId
is not a Folder or if depth != -1 && !(depth >= 1)
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public CmisObject getFolderParent(String folderId,
boolean includeObjectInfo,
String propertyFilter)
throws ObjectNotFoundException,
FilterNotValidException
folderId - folder idincludeObjectInfo - if true then result must include
external information about object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of properties
ObjectNotFoundException - if object with folderId was
not found
InvalidArgumentException - if the folderId is id of the
root folder
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public List<ItemsTree<CmisObject>> getFolderTree(String folderId,
int depth,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePathSegments,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
throws ObjectNotFoundException,
FilterNotValidException
depth) of its child-folders.
2.2.3.3 getFolderTree
folderId - folder iddepth - depth for discover descendants if -1 then discovery
descendants at all levelsincludeAllowableActions - if true then allowable actions
for each object should be included in responseincludeRelationships - indicates what relationships of object must be
returnedincludePathSegments - if true then returns a PathSegment
for each child objectincludeObjectInfo - if true then result must include
external information about each object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
ObjectNotFoundException - if object with folderId was
not found
InvalidArgumentException - if object with id folderId
is not a Folder or if depth != -1 && !(depth >= 1)
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public CmisObject getObject(String objectId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
throws ObjectNotFoundException,
FilterNotValidException
objectId - object idincludeAllowableActions - if true then include object
allowable actions for objectincludeRelationships - include object relationshipsincludePolicyIDs - include policies applied to objectincludeAcl - include object's ACLincludeObjectInfo - if true then in result must be
included external information about object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom document.propertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
ObjectNotFoundException - if object with specified id
objectId does not exist
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public CmisObject getObjectByPath(String path,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
throws ObjectNotFoundException,
FilterNotValidException
path - object's pathincludeAllowableActions - true if allowable actions
should be included in response false otherwiseincludeRelationships - include object's relationshipincludePolicyIDs - include policies IDs applied to objectincludeAcl - include ACLincludeObjectInfo - if true then in result must be
included external information about object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
ObjectNotFoundException - if object with specified path
does not exist
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public CmisObject getObjectOfLatestVersion(String versionSeriesId,
boolean major,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIDs,
boolean includeAcl,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
throws ObjectNotFoundException,
FilterNotValidException
versionSeriesId - version series idmajor - if true then return the properties for the
latest major version object in the Version Series, otherwise return
the properties for the latest (major or non-major) version. If the
input parameter major is true and the Version Series
contains no major versions, then the ObjectNotFoundException will
be thrown.includeAllowableActions - true if allowable actions
should be included in response false otherwiseincludeRelationships - include object's relationshipincludePolicyIDs - include policies IDs applied to objectincludeAcl - include ACLincludeObjectInfo - if true then in result must be
included external information about object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
ObjectNotFoundException - if Version Series with id
versionSeriesId does not exist or the input parameter
major is true and the Version Series
contains no major versions.
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public List<ObjectParent> getObjectParents(String objectId,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includeRelativePathSegment,
boolean includeObjectInfo,
String propertyFilter,
String renditionFilter)
throws ObjectNotFoundException,
ConstraintException,
FilterNotValidException
objectId - object idincludeAllowableActions - if true then allowable actions
should be included in responseincludeRelationships - indicates what relationships of object must be
returnedincludeRelativePathSegment - if true, returns a
PathSegment for each child objectincludeObjectInfo - if true then result must include
external information about object. See ObjectInfo and
ObjectParent.getObject(). Particular this info may be used
by REST Atom binding for building correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of propertiesrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
ObjectNotFoundException - if object with objectId was
not found
ConstraintException - if this method is invoked on an not fileable
object
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition or renditionFilter has
invalid syntax or contains at least one unknown rendition
public ItemsList<CmisObject> getObjectRelationships(String objectId,
RelationshipDirection direction,
String typeId,
boolean includeSubRelationshipTypes,
boolean includeAllowableActions,
boolean includeObjectInfo,
String propertyFilter,
int maxItems,
int skipCount)
throws FilterNotValidException,
ObjectNotFoundException,
TypeNotFoundException
objectId - object iddirection - relationship directiontypeId - relationship type id. If null then return
relationships of all typesincludeSubRelationshipTypes - if true, then the return
all relationships whose object types are descendant types of
typeId.includeAllowableActions - if true then allowable actions
should be included in responseincludeObjectInfo - if true then in result must be
included external information about each object. See
ObjectInfo. Particular this info may be used by REST Atom
binding for building correct Atom documentpropertyFilter - property filter as stringmaxItems - max number of items in response. If -1 then no limit of
max items in result setskipCount - the skip items. Must be equals or greater the 0
ObjectNotFoundException - if object with objectId does
not exist
TypeNotFoundException - if typeId != null and type
typeId does not exist
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public CmisObject getProperties(String objectId,
boolean includeObjectInfo,
String propertyFilter)
throws ObjectNotFoundException,
FilterNotValidException
objectId - object idincludeObjectInfo - if true then in result must be
included external information about object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of properties
ObjectNotFoundException - if object with specified id
objectId does not exist
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public CmisObject getPropertiesOfLatestVersion(String versionSeriesId,
boolean major,
boolean includeObjectInfo,
String propertyFilter)
throws FilterNotValidException,
ObjectNotFoundException
versionSeriesId - version series idmajor - if true then return the properties for the
latest major version object in the Version Series, otherwise return
the properties for the latest (major or non-major) version. If the
input parameter major is true and the Version Series
contains no major versions, then the ObjectNotFoundException will
be thrown.includeObjectInfo - if true then in result must be
included external information about object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentpropertyFilter - comma-delimited list of property definition Query
Names. A wildcard '*' is supported and minds return all properties.
If empty string or null provided than storage MAY
return storage specific set of properties
ObjectNotFoundException - if Version Series with id
versionSeriesId does not exist or the input parameter
major is true and the Version Series
contains no major versions.
FilterNotValidException - if propertyFilter has invalid
syntax or contains at least one property name that is not in
object's property definition
public List<Rendition> getRenditions(String objectId,
String renditionFilter,
int maxItems,
int skipCount)
throws ObjectNotFoundException,
FilterNotValidException
objectId - object idrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
maxItems - max number of items in response. If -1 then no limit of
max items in result setskipCount - the skip items. Must be equals or greater then 0
ObjectNotFoundException - if object with specified
objectId does not exist
FilterNotValidException - if renditionFilter has
invalid syntax or contains at least one unknown renditionpublic Storage getStorage()
public ItemsList<TypeDefinition> getTypeChildren(String typeId,
boolean includePropertyDefinition,
int maxItems,
int skipCount)
throws TypeNotFoundException
typeId - the type id, if not null then return only
specified Object Type and its direct descendant. If
null then return base types.includePropertyDefinition - true if property definition
should be included false otherwisemaxItems - max number of items in response. If -1 then no limit of
max items in result setskipCount - the skip items. Must be equals or greater then 0
TypeNotFoundException - if type typeId does not exist
public TypeDefinition getTypeDefinition(String typeId)
throws TypeNotFoundException
typeId include property
definition, see getTypeDefinition(String, boolean).
typeId - type Id
TypeNotFoundException - if type typeId does not exist
public TypeDefinition getTypeDefinition(String typeId,
boolean includePropertyDefinition)
throws TypeNotFoundException
typeId.
typeId - type IdincludePropertyDefinition - if true property definition
should be included
TypeNotFoundException - if type typeId does not exist
public List<ItemsTree<TypeDefinition>> getTypeDescendants(String typeId,
int depth,
boolean includePropertyDefinition)
throws TypeNotFoundException
typeId in hierarchy. If
typeId is null then return all types and ignore
the value of the depth parameter.
typeId - the type iddepth - the depth of level in hierarchyincludePropertyDefinition - true if property definition should be
included false otherwise
TypeNotFoundException - if type typeId does not exist
InvalidArgumentException - if
depth != -1 && !(depth >= 1)
public String moveObject(String objectId,
String targetFolderId,
String sourceFolderId)
throws ObjectNotFoundException,
NameConstraintViolationException,
ConstraintException,
UpdateConflictException,
VersioningException,
StorageException
objectId - object idtargetFolderId - target folder for moving objectsourceFolderId - move object from which object to be moved
ObjectNotFoundException - if object with objectId or
sourceFolderId or targetFolderId were
not found
ConstraintException - if type of the given object is NOT in the list
of AllowedChildObjectTypeIds of the parent-folder specified by
targetFolderId
NameConstraintViolationException - violation is detected with the
given cmis:name property value in destination folder
InvalidArgumentException - if the service is invoked with a missing
sourceFolderId or the sourceFolderId
doesn't match the specified object's parent folder (or one of the
parent folders if the storage supports multifiling.).
UpdateConflictException - if object that is no longer current (as
determined by the storage)
VersioningException - if object is a non-current (latest) document
version
StorageException - if object can not be moved (save changes) cause
to storage internal problem
public ItemsList<CmisObject> query(String statement,
boolean searchAllVersions,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includeObjectInfo,
String renditionFilter,
int maxItems,
int skipCount)
throws FilterNotValidException
statement - SQL statementsearchAllVersions - if false, then include latest
versions of documents in the query search scope otherwise all
versions. If the Storage does not support the optional
capabilityAllVersionsSearchable capability, then this parameter
value MUST be set to falseincludeAllowableActions - if true return allowable
actions in requestincludeRelationships - indicates what relationships of object must be
returnedincludeObjectInfo - if true then result must include
external information about each object. See ObjectInfo.
Particular this info may be used by REST Atom binding for building
correct Atom documentrenditionFilter - renditions kinds or mimetypes that must be included
in result. If null or empty string provided then no
renditions will be returned. The Rendition Filter grammar is
defined as follows:
<renditionInclusion> ::= <none> | <wildcard> | <termlist>
<termlist> ::= <term> | <term> ',' <termlist>
<term> ::= <kind> | <mimetype>
<kind> ::= <text>
<mimetype> ::= <type> '/' <subtype>
<type> ::= <text>
<subtype> ::= <text> | <wildcard>
<text> ::= any char except whitespace
<wildcard> ::= '*
<none> ::= 'cmis:none'
An inclusion pattern allows:
maxItems - max number of items in response. If -1 then no limit of
max items in result setskipCount - the skip items. Must be equals or greater then 0
FilterNotValidException - if renditionFilter has
invalid syntax or contains unknown rendition kinds or mimetypes
public void removeObjectFromFolder(String objectId,
String folderId)
throws ObjectNotFoundException
objectId - the id of object to be removedfolderId - the folder from which the object is to be removed. If
null, then remove the object from all folders in which it is
currently filed. In this case unfiling capability must be supported
otherwise NotSupportedException will be thrown
ObjectNotFoundException - if objectId or
folderId were not found
InvalidArgumentException - if object objectId is not
fileable or is folder or if object folderId is not a
folder
NotSupportedException - if unfiling capability is not supported by
backend storage
public void removePolicy(String policyId,
String objectId)
throws ConstraintException,
ObjectNotFoundException
policyId - id of policy to be removed from objectobjectId - id of object
ObjectNotFoundException - if object with objectId does
not exist
ConstraintException - if object with id objectId is not
controllable by policy
InvalidArgumentException - if object with policyId is
not object whose base type is Policy
public void removeType(String typeId)
throws TypeNotFoundException,
ConstraintException,
StorageException
typeId .
typeId - type Id
TypeNotFoundException - if type typeId does not exist
ConstraintException - if removing type violates a storage
constraint. For example, if storage already contains object of
this type
StorageException - if type can't be removed (save changes) cause to
storage internal problem
public String setContentStream(String documentId,
ContentStream content,
ChangeTokenHolder changeTokenHolder,
Boolean overwriteFlag)
throws ObjectNotFoundException,
ContentAlreadyExistsException,
ConstraintException,
StreamNotSupportedException,
UpdateConflictException,
VersioningException,
StorageException
documentId - document idcontent - content stream to be applied to objectchangeTokenHolder - is used for optimistic locking and/or concurrency
checking to ensure that user updates do not conflict. This
parameter must never be null but
TokenHolder.getValue() may return null
if caller does not provide change token. After successful updating
content stream changeTokenHolder may contains updated
change token if backend support this featureoverwriteFlag - if true on object's content stream
exists it will be overridden. If false and context
stream already exists then ContentAlreadyExistsException will be
thrown
ObjectNotFoundException - if document with specified id
documentId does not exist
NullPointerException - if changeTokenHolder is
null
ContentAlreadyExistsException - if the input parameter
overwriteFlag is false and the Object
already has a content-stream
ConstraintException - if document type definition attribute
TypeDefinition.getContentStreamAllowed() is 'notallowed'
and specified contentStream is other then
null or if
TypeDefinition.getContentStreamAllowed() attribute is
'required' and contentStream is null
StreamNotSupportedException - will be thrown if the
contentStreamAllowed attribute of the object type definition
specified by the cmis:objectTypeId property value of
the given document is set to not allowed
UpdateConflictException - if update an object that is no longer
current. Storage determine this by using change token
VersioningException - if object is a non-current (latest) document
version and updatiing other then latest version is not supported
StorageException - if object's content stream can not be updated
(save changes) cause to storage internal problem
public String updateProperties(String objectId,
ChangeTokenHolder changeTokenHolder,
Map<String,Property<?>> properties)
throws ObjectNotFoundException,
ConstraintException,
NameConstraintViolationException,
UpdateConflictException,
VersioningException,
StorageException
objectId - object idchangeTokenHolder - is used for optimistic locking and/or concurrency
checking to ensure that user updates do not conflict. This
parameter must never be null but
TokenHolder.getValue() may return null
if caller does not provide change token. After successful updating
properties changeTokenHolder may contains updated
change token if backend support this featureproperties - the properties to be applied for object
ObjectNotFoundException - if document with specified id
objectId does not exist
ConstraintException - if value of any of the properties violates the
min/max/required/length constraints specified in the property
definition in the object type
NameConstraintViolationException - if cmis:name specified in
properties throws conflict
UpdateConflictException - if update an object that is no longer
current. Storage determine this by using change token
VersioningException - if any of following conditions are met:
StorageException - if object's properties can not be updated (save
changes) cause to storage internal problem
protected abstract void checkConnection()
throws IllegalStateException
IllegalStateException - if connection may not be used any more
protected CmisObject getCmisObject(ObjectData object,
boolean includeAllowableActions,
IncludeRelationships includeRelationships,
boolean includePolicyIds,
boolean includeACL,
boolean includeObjectInfo,
PropertyFilter parsedPropertyFilter,
RenditionFilter parsedRenditionFilter)
protected abstract void validateChangeToken(ObjectData object,
String changeToken)
throws UpdateConflictException
object - objectchangeToken - change token from 'client'
UpdateConflictException - if specified change token does not match
to object change token
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||