public abstract class AbstractCmisService extends Object implements CmisService, ObjectInfoHandler
Constructor and Description |
---|
AbstractCmisService() |
Modifier and Type | Method and Description |
---|---|
void |
addObjectInfo(ObjectInfo objectInfo)
Adds an object info.
|
void |
addObjectToFolder(String repositoryId,
String objectId,
String folderId,
Boolean allVersions,
ExtensionsData extension)
Adds an existing fileable non-folder object to a folder.
|
void |
appendContentStream(String repositoryId,
Holder<String> objectId,
Holder<String> changeToken,
ContentStream contentStream,
boolean isLastChunk,
ExtensionsData extension)
Appends the content stream to the content of the document.
|
Acl |
applyAcl(String repositoryId,
String objectId,
Acl addAces,
Acl removeAces,
AclPropagation aclPropagation,
ExtensionsData extension)
Adds or removes the given ACEs to or from the ACL of the object.
|
Acl |
applyAcl(String repositoryId,
String objectId,
Acl aces,
AclPropagation aclPropagation)
Applies a new ACL to an object.
|
void |
applyPolicy(String repositoryId,
String policyId,
String objectId,
ExtensionsData extension)
Applies a specified policy to an object.
|
List<BulkUpdateObjectIdAndChangeToken> |
bulkUpdateProperties(String repositoryId,
List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken,
Properties properties,
List<String> addSecondaryTypeIds,
List<String> removeSecondaryTypeIds,
ExtensionsData extension)
Updates properties and secondary types of one or more objects.
|
void |
cancelCheckOut(String repositoryId,
String objectId,
ExtensionsData extension)
Reverses the effect of a check-out.
|
void |
checkIn(String repositoryId,
Holder<String> objectId,
Boolean major,
Properties properties,
ContentStream contentStream,
String checkinComment,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Checks-in the private working copy (PWC) document.
|
void |
checkOut(String repositoryId,
Holder<String> objectId,
ExtensionsData extension,
Holder<Boolean> contentCopied)
Create a private working copy of the document.
|
void |
clearObjectInfos()
Clears the object info map.
|
void |
close()
Signals that this object will not be used anymore and resources can
released.
|
String |
create(String repositoryId,
Properties properties,
String folderId,
ContentStream contentStream,
VersioningState versioningState,
List<String> policies,
ExtensionsData extension)
Creates a new document, folder, policy, or item.
|
String |
createDocument(String repositoryId,
Properties properties,
String folderId,
ContentStream contentStream,
VersioningState versioningState,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Creates a document object of the specified type (given by the
cmis:objectTypeId property) in the (optionally) specified location.
|
String |
createDocumentFromSource(String repositoryId,
String sourceId,
Properties properties,
String folderId,
VersioningState versioningState,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Creates a document object as a copy of the given source document in the
(optionally) specified location.
|
String |
createFolder(String repositoryId,
Properties properties,
String folderId,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Creates a folder object of the specified type (given by the
cmis:objectTypeId property) in the specified location.
|
String |
createItem(String repositoryId,
Properties properties,
String folderId,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Creates an item object of the specified type (given by the
cmis:objectTypeId property).
|
String |
createPolicy(String repositoryId,
Properties properties,
String folderId,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Creates a policy object of the specified type (given by the
cmis:objectTypeId property).
|
String |
createRelationship(String repositoryId,
Properties properties,
List<String> policies,
Acl addAces,
Acl removeAces,
ExtensionsData extension)
Creates a relationship object of the specified type (given by the
cmis:objectTypeId property).
|
TypeDefinition |
createType(String repositoryId,
TypeDefinition type,
ExtensionsData extension)
Creates a new type.
|
void |
deleteContentStream(String repositoryId,
Holder<String> objectId,
Holder<String> changeToken,
ExtensionsData extension)
Deletes the content stream for the specified document object.
|
void |
deleteObject(String repositoryId,
String objectId,
Boolean allVersions,
ExtensionsData extension)
Deletes the specified object.
|
void |
deleteObjectOrCancelCheckOut(String repositoryId,
String objectId,
Boolean allVersions,
ExtensionsData extension)
Deletes an object or cancels a check out.
|
FailedToDeleteData |
deleteTree(String repositoryId,
String folderId,
Boolean allVersions,
UnfileObject unfileObjects,
Boolean continueOnFailure,
ExtensionsData extension)
Deletes the specified folder object and all of its child- and
descendant-objects.
|
void |
deleteType(String repositoryId,
String typeId,
ExtensionsData extension)
Deletes a type.
|
Acl |
getAcl(String repositoryId,
String objectId,
Boolean onlyBasicPermissions,
ExtensionsData extension)
Get the ACL currently applied to the specified object.
|
AllowableActions |
getAllowableActions(String repositoryId,
String objectId,
ExtensionsData extension)
Gets the list of allowable actions for an object.
|
List<ObjectData> |
getAllVersions(String repositoryId,
String objectId,
String versionSeriesId,
String filter,
Boolean includeAllowableActions,
ExtensionsData extension)
Returns the list of all document objects in the specified version series,
sorted by the property "cmis:creationDate" descending.
|
List<ObjectData> |
getAppliedPolicies(String repositoryId,
String objectId,
String filter,
ExtensionsData extension)
Gets the list of policies currently applied to the specified object.
|
protected Boolean |
getBooleanProperty(ObjectData object,
String name) |
ObjectList |
getCheckedOutDocs(String repositoryId,
String folderId,
String filter,
String orderBy,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
BigInteger maxItems,
BigInteger skipCount,
ExtensionsData extension)
Gets the list of documents that are checked out that the user has access
to.
|
abstract ObjectInFolderList |
getChildren(String repositoryId,
String folderId,
String filter,
String orderBy,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includePathSegment,
BigInteger maxItems,
BigInteger skipCount,
ExtensionsData extension)
Gets the list of child objects contained in the specified folder.
|
ObjectList |
getContentChanges(String repositoryId,
Holder<String> changeLogToken,
Boolean includeProperties,
String filter,
Boolean includePolicyIds,
Boolean includeAcl,
BigInteger maxItems,
ExtensionsData extension)
Gets a list of content changes.
|
ContentStream |
getContentStream(String repositoryId,
String objectId,
String streamId,
BigInteger offset,
BigInteger length,
ExtensionsData extension)
Gets the content stream for the specified document object, or gets a
rendition stream for a specified rendition of a document or folder
object.
|
protected GregorianCalendar |
getDateTimeProperty(ObjectData object,
String name) |
List<ObjectInFolderContainer> |
getDescendants(String repositoryId,
String folderId,
BigInteger depth,
String filter,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includePathSegment,
ExtensionsData extension)
Gets the set of descendant objects contained in the specified folder or
any of its child folders.
|
ObjectData |
getFolderParent(String repositoryId,
String folderId,
String filter,
ExtensionsData extension)
Gets the parent folder object for the specified folder object.
|
List<ObjectInFolderContainer> |
getFolderTree(String repositoryId,
String folderId,
BigInteger depth,
String filter,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includePathSegment,
ExtensionsData extension)
Gets the set of descendant folder objects contained in the specified
folder.
|
protected String |
getIdProperty(ObjectData object,
String name) |
protected BigInteger |
getIntegerProperty(ObjectData object,
String name) |
abstract ObjectData |
getObject(String repositoryId,
String objectId,
String filter,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includePolicyIds,
Boolean includeAcl,
ExtensionsData extension)
Gets the specified information for the object specified by id.
|
ObjectData |
getObjectByPath(String repositoryId,
String path,
String filter,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includePolicyIds,
Boolean includeAcl,
ExtensionsData extension)
Gets the specified information for the object specified by path.
|
ObjectInfo |
getObjectInfo(String repositoryId,
String objectId)
Returns the
ObjectInfo of the given object id or null if
no object info exists. |
protected ObjectInfo |
getObjectInfoIntern(String repositoryId,
ObjectData object)
Collects the
ObjectInfo about an object. |
ObjectData |
getObjectOfLatestVersion(String repositoryId,
String objectId,
String versionSeriesId,
Boolean major,
String filter,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includePolicyIds,
Boolean includeAcl,
ExtensionsData extension)
Get the latest document object in the version series.
|
abstract List<ObjectParentData> |
getObjectParents(String repositoryId,
String objectId,
String filter,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
Boolean includeRelativePathSegment,
ExtensionsData extension)
Gets the parent folder(s) for the specified non-folder, fileable object.
|
ObjectList |
getObjectRelationships(String repositoryId,
String objectId,
Boolean includeSubRelationshipTypes,
RelationshipDirection relationshipDirection,
String typeId,
String filter,
Boolean includeAllowableActions,
BigInteger maxItems,
BigInteger skipCount,
ExtensionsData extension)
Gets all or a subset of relationships associated with an independent
object.
|
Properties |
getProperties(String repositoryId,
String objectId,
String filter,
ExtensionsData extension)
Gets the list of properties for an object.
|
Properties |
getPropertiesOfLatestVersion(String repositoryId,
String objectId,
String versionSeriesId,
Boolean major,
String filter,
ExtensionsData extension)
Get a subset of the properties for the latest document object in the
version series.
|
List<RenditionData> |
getRenditions(String repositoryId,
String objectId,
String renditionFilter,
BigInteger maxItems,
BigInteger skipCount,
ExtensionsData extension)
Gets the list of associated renditions for the specified object.
|
RepositoryInfo |
getRepositoryInfo(String repositoryId,
ExtensionsData extension)
Returns information about the CMIS repository, the optional capabilities
it supports and its access control information if applicable.
|
abstract List<RepositoryInfo> |
getRepositoryInfos(ExtensionsData extension)
Returns a list of CMIS repository information available from this CMIS
service endpoint.
|
protected String |
getStringProperty(ObjectData object,
String name) |
abstract TypeDefinitionList |
getTypeChildren(String repositoryId,
String typeId,
Boolean includePropertyDefinitions,
BigInteger maxItems,
BigInteger skipCount,
ExtensionsData extension)
Returns the list of object types defined for the repository that are
children of the specified type.
|
abstract TypeDefinition |
getTypeDefinition(String repositoryId,
String typeId,
ExtensionsData extension)
Gets the definition of the specified object type.
|
List<TypeDefinitionContainer> |
getTypeDescendants(String repositoryId,
String typeId,
BigInteger depth,
Boolean includePropertyDefinitions,
ExtensionsData extension)
Returns the set of descendant object type defined for the repository
under the specified type.
|
void |
moveObject(String repositoryId,
Holder<String> objectId,
String targetFolderId,
String sourceFolderId,
ExtensionsData extension)
Moves the specified file-able object from one folder to another.
|
ObjectList |
query(String repositoryId,
String statement,
Boolean searchAllVersions,
Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
String renditionFilter,
BigInteger maxItems,
BigInteger skipCount,
ExtensionsData extension)
Executes a CMIS query statement against the contents of the repository.
|
void |
removeObjectFromFolder(String repositoryId,
String objectId,
String folderId,
ExtensionsData extension)
Removes an existing fileable non-folder object from a folder.
|
void |
removePolicy(String repositoryId,
String policyId,
String objectId,
ExtensionsData extension)
Removes a specified policy from an object.
|
void |
setContentStream(String repositoryId,
Holder<String> objectId,
Boolean overwriteFlag,
Holder<String> changeToken,
ContentStream contentStream,
ExtensionsData extension)
Sets the content stream for the specified document object.
|
void |
updateProperties(String repositoryId,
Holder<String> objectId,
Holder<String> changeToken,
Properties properties,
ExtensionsData extension)
Updates properties of the specified object.
|
TypeDefinition |
updateType(String repositoryId,
TypeDefinition type,
ExtensionsData extension)
Updates a type.
|
public RepositoryInfo getRepositoryInfo(String repositoryId, ExtensionsData extension)
Implementation Hints:
getRepositoryInfo
in interface RepositoryService
repositoryId
- the identifier for the repositoryextension
- extension datapublic abstract List<RepositoryInfo> getRepositoryInfos(ExtensionsData extension)
Implementation Hints:
getRepositoryInfos
in interface RepositoryService
extension
- extension datapublic abstract TypeDefinitionList getTypeChildren(String repositoryId, String typeId, Boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension)
Implementation Hints:
getTypeChildren
in interface RepositoryService
repositoryId
- the identifier for the repositorytypeId
- (optional) the typeId of an object type specified in
the repository (if not specified the repository MUST return
all base object types)includePropertyDefinitions
- (optional) if true
the repository MUST
return the property definitions for each object type returned
(default is false
)maxItems
- (optional) the maximum number of items to return in a
response (default is repository specific)skipCount
- (optional) number of potential results that the
repository MUST skip/page over before returning any results
(default is 0)extension
- extension datapublic List<TypeDefinitionContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension)
Implementation Hints:
getTypeDescendants
in interface RepositoryService
repositoryId
- the identifier for the repositorytypeId
- (optional) the typeId of an object type specified in
the repository (if not specified the repository MUST return
all types and MUST ignore the value of the depth parameter)depth
- (optional) the number of levels of depth in the type
hierarchy from which to return results (default is repository
specific)includePropertyDefinitions
- (optional) if true
the repository MUST
return the property definitions for each object type returned
(default is false
)extension
- extension datapublic abstract TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension)
Implementation Hints:
getTypeDefinition
in interface RepositoryService
repositoryId
- the identifier for the repositorytypeId
- typeId of an object type specified in the repositoryextension
- extension datapublic TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension)
Implementation Hints:
createType
in interface RepositoryService
repositoryId
- the identifier for the repositorytype
- the type definitionextension
- extension datapublic TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension)
Implementation Hints:
updateType
in interface RepositoryService
repositoryId
- the identifier for the repositorytype
- the type definitionextension
- extension datapublic void deleteType(String repositoryId, String typeId, ExtensionsData extension)
Implementation Hints:
deleteType
in interface RepositoryService
repositoryId
- the identifier for the repositorytypeId
- typeId of an object type specified in the repositoryextension
- extension datapublic abstract ObjectInFolderList getChildren(String repositoryId, String folderId, String filter, String orderBy, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension)
Implementation Hints:
getChildren
in interface NavigationService
repositoryId
- the identifier for the repositoryfolderId
- the identifier for the folderfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)orderBy
- (optional) a comma-separated list of query names that
define the order of the result set. Each query name must be
followed by the ascending modifier "ASC" or the descending
modifier "DESC" (default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the available actions for each object in the result set
(default is false
)includeRelationships
- (optional) indicates what relationships in which the
objects participate must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)includePathSegment
- (optional) if true
, returns a path segment
for each child object for use in constructing that object's
path (default is false
)maxItems
- (optional) the maximum number of items to return in a
response (default is repository specific)skipCount
- (optional) number of potential results that the
repository MUST skip/page over before returning any results
(default is 0)extension
- extension datapublic List<ObjectInFolderContainer> getDescendants(String repositoryId, String folderId, BigInteger depth, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, ExtensionsData extension)
Implementation Hints:
getDescendants
in interface NavigationService
repositoryId
- the identifier for the repositoryfolderId
- the identifier for the folderdepth
- the number of levels of depth in the folder hierarchy from
which to return resultsfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the available actions for each object in the result set
(default is false
)includeRelationships
- (optional) indicates what relationships in which the
objects participate must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)includePathSegment
- (optional) if true
, returns a path segment
for each child object for use in constructing that object's
path (default is false
)extension
- extension datapublic List<ObjectInFolderContainer> getFolderTree(String repositoryId, String folderId, BigInteger depth, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, ExtensionsData extension)
Implementation Hints:
getFolderTree
in interface NavigationService
repositoryId
- the identifier for the repositoryfolderId
- the identifier for the folderdepth
- the number of levels of depth in the folder hierarchy from
which to return resultsfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the available actions for each object in the result set
(default is false
)includeRelationships
- (optional) indicates what relationships in which the
objects participate must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)includePathSegment
- (optional) if true
, returns a path segment
for each child object for use in constructing that object's
path (default is false
)extension
- extension datapublic abstract List<ObjectParentData> getObjectParents(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includeRelativePathSegment, ExtensionsData extension)
Implementation Hints:
getObjectParents
in interface NavigationService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the available actions for each object in the result set
(default is false
)includeRelationships
- (optional) indicates what relationships in which the
objects participate must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)includeRelativePathSegment
- (optional) if true
, returns a relative path
segment for each parent object for use in constructing that
object's path (default is false
)extension
- extension datapublic ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension)
Implementation Hints:
getFolderParent
in interface NavigationService
repositoryId
- the identifier for the repositoryfolderId
- the identifier for the folderfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)extension
- extension datapublic ObjectList getCheckedOutDocs(String repositoryId, String folderId, String filter, String orderBy, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension)
Implementation Hints:
getCheckedOutDocs
in interface NavigationService
repositoryId
- the identifier for the repositoryfolderId
- the identifier for the folderfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)orderBy
- (optional) a comma-separated list of query names that
define the order of the result set. Each query name must be
followed by the ascending modifier "ASC" or the descending
modifier "DESC" (default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the available actions for each object in the result set
(default is false
)includeRelationships
- (optional) indicates what relationships in which the
objects participate must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)maxItems
- (optional) the maximum number of items to return in a
response (default is repository specific)skipCount
- (optional) number of potential results that the
repository MUST skip/page over before returning any results
(default is 0)extension
- extension datapublic String create(String repositoryId, Properties properties, String folderId, ContentStream contentStream, VersioningState versioningState, List<String> policies, ExtensionsData extension)
Implementation Hints:
create
in interface CmisService
repositoryId
- the identifier for the repositoryproperties
- the property values that MUST be applied to the newly created
objectfolderId
- (optional) if specified, the identifier for the
folder that MUST be the parent folder for the newly created
objectcontentStream
- (optional) if the object to create is a document
object, the content stream that MUST be stored for the newly
created document objectversioningState
- (optional) if the object to create is a document
object, it specifies what the versioning state of the newly
created object MUST be (default is
VersioningState.MAJOR
)policies
- (optional) a list of policy IDs that MUST be applied
to the newly created objectextension
- extension datapublic String createDocument(String repositoryId, Properties properties, String folderId, ContentStream contentStream, VersioningState versioningState, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
contentStream
is consumed but not closed by
this method.
Implementation Hints:
createDocument
in interface ObjectService
repositoryId
- the identifier for the repositoryproperties
- the property values that must be applied to the newly created
document objectfolderId
- (optional) if specified, the identifier for the
folder that must be the parent folder for the newly created
document objectcontentStream
- (optional) the content stream that must be stored for
the newly created document objectversioningState
- (optional) specifies what the versioning state of the
newly created object must be (default is
VersioningState.MAJOR
)policies
- (optional) a list of policy IDs that must be applied
to the newly created document objectaddAces
- (optional) a list of ACEs that must be added to the
newly created document object, either using the ACL from
folderId
if specified, or being applied if no
folderId
is specifiedremoveAces
- (optional) a list of ACEs that must be removed from
the newly created document object, either using the ACL from
folderId
if specified, or being ignored if no
folderId
is specifiedextension
- extension datapublic String createDocumentFromSource(String repositoryId, String sourceId, Properties properties, String folderId, VersioningState versioningState, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
Implementation Hints:
createDocumentFromSource
in interface ObjectService
repositoryId
- the identifier for the repositorysourceId
- the identifier for the source documentproperties
- the property values that must be applied to the newly created
document objectfolderId
- (optional) if specified, the identifier for the
folder that must be the parent folder for the newly created
document objectversioningState
- (optional) specifies what the versioning state of the
newly created object must be (default is
VersioningState.MAJOR
)policies
- (optional) a list of policy IDs that must be applied
to the newly created document objectaddAces
- (optional) a list of ACEs that must be added to the
newly created document object, either using the ACL from
folderId
if specified, or being applied if no
folderId
is specifiedremoveAces
- (optional) a list of ACEs that must be removed from
the newly created document object, either using the ACL from
folderId
if specified, or being ignored if no
folderId
is specifiedextension
- extension datapublic String createFolder(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
Implementation Hints:
createFolder
in interface ObjectService
repositoryId
- the identifier for the repositoryproperties
- the property values that must be applied to the newly created
folder objectfolderId
- the identifier for the parent folderpolicies
- (optional) a list of policy IDs that must be applied
to the newly created folder objectaddAces
- (optional) a list of ACEs that must be added to the
newly created folder object, either using the ACL from
folderId
if specified, or being applied if no
folderId
is specifiedremoveAces
- (optional) a list of ACEs that must be removed from
the newly created folder object, either using the ACL from
folderId
if specified, or being ignored if no
folderId
is specifiedextension
- extension datapublic String createRelationship(String repositoryId, Properties properties, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
Implementation Hints:
createRelationship
in interface ObjectService
repositoryId
- the identifier for the repositoryproperties
- the property values that must be applied to the newly created
relationship objectpolicies
- (optional) a list of policy IDs that must be applied
to the newly created relationship objectaddAces
- (optional) a list of ACEs that must be added to the
newly created relationship object, either using the ACL from
folderId
if specified, or being applied if no
folderId
is specifiedremoveAces
- (optional) a list of ACEs that must be removed from
the newly created relationship object, either using the ACL
from folderId
if specified, or being ignored if no
folderId
is specifiedextension
- extension datapublic String createPolicy(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
Implementation Hints:
createPolicy
in interface ObjectService
repositoryId
- the identifier for the repositoryproperties
- the property values that must be applied to the newly created
policy objectfolderId
- (optional) if specified, the identifier for the
folder that must be the parent folder for the newly created
policy objectpolicies
- (optional) a list of policy IDs that must be applied
to the newly created policy objectaddAces
- (optional) a list of ACEs that must be added to the
newly created policy object, either using the ACL from
folderId
if specified, or being applied if no
folderId
is specifiedremoveAces
- (optional) a list of ACEs that must be removed from
the newly created policy object, either using the ACL from
folderId
if specified, or being ignored if no
folderId
is specifiedextension
- extension datapublic String createItem(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
Implementation Hints:
createItem
in interface ObjectService
repositoryId
- the identifier for the repositoryproperties
- the property values that must be applied to the newly created
policy objectfolderId
- (optional) if specified, the identifier for the
folder that must be the parent folder for the newly created
policy objectpolicies
- (optional) a list of policy IDs that must be applied
to the newly created policy objectaddAces
- (optional) a list of ACEs that must be added to the
newly created policy object, either using the ACL from
folderId
if specified, or being applied if no
folderId
is specifiedremoveAces
- (optional) a list of ACEs that must be removed from
the newly created policy object, either using the ACL from
folderId
if specified, or being ignored if no
folderId
is specifiedextension
- extension datapublic AllowableActions getAllowableActions(String repositoryId, String objectId, ExtensionsData extension)
Implementation Hints:
getAllowableActions
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectextension
- extension datapublic abstract ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension)
Implementation Hints:
getObject
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the allowable actions for the object (default is
false
)includeRelationships
- (optional) indicates what relationships in which the
object participates must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)includePolicyIds
- (optional) if true
, then the repository must
return the policy ids for the object (default is false
)includeAcl
- (optional) if true
, then the repository must
return the ACL for the object (default is false
)extension
- extension datapublic Properties getProperties(String repositoryId, String objectId, String filter, ExtensionsData extension)
Implementation Hints:
getProperties
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)extension
- extension datapublic List<RenditionData> getRenditions(String repositoryId, String objectId, String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension)
Implementation Hints:
getRenditions
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectrenditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)maxItems
- (optional) the maximum number of items to return in a
response (default is repository specific)skipCount
- (optional) number of potential results that the
repository must skip/page over before returning any results
(default is 0)extension
- extension datapublic ObjectData getObjectByPath(String repositoryId, String path, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension)
Implementation Hints:
getObjectByPath
in interface ObjectService
repositoryId
- the identifier for the repositorypath
- the path to the objectfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the allowable actions for the object (default is
false
)includeRelationships
- (optional) indicates what relationships in which the
object participates must be returned (default is
IncludeRelationships.NONE
)renditionFilter
- (optional) indicates what set of renditions the
repository must return whose kind matches this filter (default
is "cmis:none"
)includePolicyIds
- (optional) if true
, then the repository must
return the policy ids for the object (default is false
)includeAcl
- (optional) if true
, then the repository must
return the ACL for the object (default is false
)extension
- extension datapublic ContentStream getContentStream(String repositoryId, String objectId, String streamId, BigInteger offset, BigInteger length, ExtensionsData extension)
Implementation Hints:
getContentStream
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectextension
- extension datapublic void updateProperties(String repositoryId, Holder<String> objectId, Holder<String> changeToken, Properties properties, ExtensionsData extension)
Implementation Hints:
updateProperties
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the object. The repository might return a
different/new object idchangeToken
- (optional) the last change token of this object that
the client received. The repository might return a new change
token (default is null
)properties
- the updated property values that must be applied to the objectextension
- extension datapublic List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId, List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties, List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension)
Implementation Hints:
bulkUpdateProperties
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectIdAndChangeToken
- the ids and change tokens of the objects to updateproperties
- the properties to setaddSecondaryTypeIds
- the secondary types to applyremoveSecondaryTypeIds
- the secondary types to removeextension
- extension datapublic void moveObject(String repositoryId, Holder<String> objectId, String targetFolderId, String sourceFolderId, ExtensionsData extension)
Implementation Hints:
moveObject
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the object. The repository might return a
different/new object idtargetFolderId
- the identifier for the target foldersourceFolderId
- the identifier for the source folderextension
- extension datapublic void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension)
Implementation Hints:
deleteObjectOrCancelCheckOut(String, String, Boolean, ExtensionsData)
).deleteObject
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectallVersions
- (optional) If true
then delete all versions
of the document, otherwise delete only the document object
specified (default is true
)extension
- extension datapublic void deleteObjectOrCancelCheckOut(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension)
Implementation Hints:
deleteObjectOrCancelCheckOut
in interface CmisService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectallVersions
- (optional) If true
then delete all versions
of the document, otherwise delete only the document object
specified (default is true
)extension
- extension datapublic FailedToDeleteData deleteTree(String repositoryId, String folderId, Boolean allVersions, UnfileObject unfileObjects, Boolean continueOnFailure, ExtensionsData extension)
Implementation Hints:
deleteTree
in interface ObjectService
repositoryId
- the identifier for the repositoryfolderId
- the identifier for the folderallVersions
- (optional) If true
then delete all versions
of the document, otherwise delete only the document object
specified (default is true
)unfileObjects
- (optional) defines how the repository must process
file-able child- or descendant-objects (default is
UnfileObject.DELETE
)continueOnFailure
- (optional) If true
, then the repository
should continue attempting to perform this operation even if
deletion of a child- or descendant-object in the specified
folder cannot be deleted (default is false
)extension
- extension datapublic void setContentStream(String repositoryId, Holder<String> objectId, Boolean overwriteFlag, Holder<String> changeToken, ContentStream contentStream, ExtensionsData extension)
contentStream
is consumed but not closed by
this method.
Implementation Hints:
setContentStream
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the object. The repository might return a
different/new object idoverwriteFlag
- (optional) If true
, then the repository must
replace the existing content stream for the object (if any)
with the input content stream. If If false
, then the
repository must only set the input content stream for the
object if the object currently does not have a content stream
(default is true
)changeToken
- (optional) the last change token of this object that
the client received. The repository might return a new change
token (default is null
)contentStream
- the content streamextension
- extension datapublic void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken, ContentStream contentStream, boolean isLastChunk, ExtensionsData extension)
Implementation Hints:
appendContentStream
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the object. The repository might return a
different/new object idchangeToken
- (optional) the last change token of this object that
the client received. The repository might return a new change
token (default is null
)contentStream
- the content stream to appendisLastChunk
- indicates if this content stream is the last chunkextension
- extension datapublic void deleteContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken, ExtensionsData extension)
Implementation Hints:
deleteContentStream
in interface ObjectService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the object. The repository might return a
different/new object idchangeToken
- (optional) the last change token of this object that
the client received. The repository might return a new change
token (default is null
)extension
- extension datapublic void checkOut(String repositoryId, Holder<String> objectId, ExtensionsData extension, Holder<Boolean> contentCopied)
Implementation Hints:
checkOut
in interface VersioningService
repositoryId
- the identifier for the repositoryobjectId
- input: the identifier for the document that should be checked
out, output: the identifier for the newly created PWCextension
- extension datacontentCopied
- output: indicator if the content of the original document has
been copied to the PWCpublic void cancelCheckOut(String repositoryId, String objectId, ExtensionsData extension)
Implementation Hints:
cancelCheckOut
in interface VersioningService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the PWCextension
- extension datapublic void checkIn(String repositoryId, Holder<String> objectId, Boolean major, Properties properties, ContentStream contentStream, String checkinComment, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension)
contentStream
is consumed but not closed by this
method.
Implementation Hints:
checkIn
in interface VersioningService
repositoryId
- the identifier for the repositoryobjectId
- input: the identifier for the PWC, output: the identifier for
the newly created version documentmajor
- indicator if the new version should become a major (
true
) or minor (false
) versionproperties
- (optional) the property values that must be applied
to the newly created document objectcontentStream
- (optional) the content stream that must be stored for
the newly created document objectcheckinComment
- (optional) a version commentpolicies
- (optional) a list of policy IDs that must be applied
to the newly created document objectaddAces
- (optional) a list of ACEs that must be added to the
newly created document objectremoveAces
- (optional) a list of ACEs that must be removed from
the newly created document objectextension
- extension datapublic ObjectData getObjectOfLatestVersion(String repositoryId, String objectId, String versionSeriesId, Boolean major, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension)
Implementation Hints:
getObjectOfLatestVersion
in interface VersioningService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectversionSeriesId
- the version series IDfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)extension
- extension datapublic Properties getPropertiesOfLatestVersion(String repositoryId, String objectId, String versionSeriesId, Boolean major, String filter, ExtensionsData extension)
Implementation Hints:
getObjectOfLatestVersion(String, String, String, Boolean, String, Boolean, IncludeRelationships, String, Boolean, Boolean, ExtensionsData)
is implemented.getPropertiesOfLatestVersion
in interface VersioningService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectversionSeriesId
- the version series IDfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)extension
- extension datapublic List<ObjectData> getAllVersions(String repositoryId, String objectId, String versionSeriesId, String filter, Boolean includeAllowableActions, ExtensionsData extension)
objectId
or the versionSeriesId
parameter must
be set.
Implementation Hints:
getAllVersions
in interface VersioningService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectversionSeriesId
- the identifier for the objectfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)includeAllowableActions
- (optional) if true
, then the repository must
return the allowable actions for the objects (default is
false
)extension
- extension datapublic ObjectList getContentChanges(String repositoryId, Holder<String> changeLogToken, Boolean includeProperties, String filter, Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, ExtensionsData extension)
Implementation Hints:
getContentChanges
in interface DiscoveryService
repositoryId
- the identifier for the repositoryextension
- extension datapublic ObjectList query(String repositoryId, String statement, Boolean searchAllVersions, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension)
Implementation Hints:
query
in interface DiscoveryService
repositoryId
- the identifier for the repositorystatement
- the query statementextension
- extension datapublic void addObjectToFolder(String repositoryId, String objectId, String folderId, Boolean allVersions, ExtensionsData extension)
Implementation Hints:
addObjectToFolder
in interface MultiFilingService
repositoryId
- the identifier for the repositoryobjectId
- the object to addfolderId
- the folderallVersions
- a flag that indicates if all versions of a document should be
added to the folder or just this single versionextension
- extension datapublic void removeObjectFromFolder(String repositoryId, String objectId, String folderId, ExtensionsData extension)
Implementation Hints:
removeObjectFromFolder
in interface MultiFilingService
repositoryId
- the identifier for the repositoryobjectId
- the object to removefolderId
- the folderextension
- extension datapublic ObjectList getObjectRelationships(String repositoryId, String objectId, Boolean includeSubRelationshipTypes, RelationshipDirection relationshipDirection, String typeId, String filter, Boolean includeAllowableActions, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension)
Implementation Hints:
getObjectRelationships
in interface RelationshipService
repositoryId
- the identifier for the repositoryobjectId
- the objectextension
- extension datapublic Acl applyAcl(String repositoryId, String objectId, Acl addAces, Acl removeAces, AclPropagation aclPropagation, ExtensionsData extension)
Implementation Hints:
applyAcl
in interface AclService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectaddAces
- (optional) the ACEs to be addedremoveAces
- (optional) the ACEs to be removedaclPropagation
- (optional) specifies how ACEs should be handled
(default is AclPropagation.REPOSITORYDETERMINED
)extension
- extension datapublic Acl applyAcl(String repositoryId, String objectId, Acl aces, AclPropagation aclPropagation)
Implementation Hints:
applyAcl
in interface CmisService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectaces
- the ACEs that should replace the current ACL of the objectaclPropagation
- (optional) specifies how ACEs should be handled
(default is AclPropagation.REPOSITORYDETERMINED
)public Acl getAcl(String repositoryId, String objectId, Boolean onlyBasicPermissions, ExtensionsData extension)
Implementation Hints:
getAcl
in interface AclService
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectonlyBasicPermissions
- (optional) an indicator if only basic permissions
should be returned (default is true
)extension
- extension datapublic void applyPolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension)
Implementation Hints:
applyPolicy
in interface PolicyService
repositoryId
- the identifier for the repositorypolicyId
- the policy to addobjectId
- the objectextension
- extension datapublic List<ObjectData> getAppliedPolicies(String repositoryId, String objectId, String filter, ExtensionsData extension)
Implementation Hints:
getAppliedPolicies
in interface PolicyService
repositoryId
- the identifier for the repositoryobjectId
- the objectfilter
- (optional) a comma-separated list of query names that
defines which properties must be returned by the repository
(default is repository specific)extension
- extension datapublic void removePolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension)
Implementation Hints:
removePolicy
in interface PolicyService
repositoryId
- the identifier for the repositorypolicyId
- the policy to removeobjectId
- the objectextension
- extension datapublic ObjectInfo getObjectInfo(String repositoryId, String objectId)
ObjectInfo
of the given object id or null
if
no object info exists.
Only AtomPub requests will require object infos.
Implementation Hints:
getObjectInfo
in interface CmisService
getObjectInfo
in interface ObjectInfoHandler
repositoryId
- the identifier for the repositoryobjectId
- the identifier for the objectprotected ObjectInfo getObjectInfoIntern(String repositoryId, ObjectData object)
ObjectInfo
about an object.repositoryId
- the repository idobject
- the objectpublic void addObjectInfo(ObjectInfo objectInfo)
addObjectInfo
in interface ObjectInfoHandler
public void clearObjectInfos()
public void close()
CmisService
close
in interface CmisService
protected String getStringProperty(ObjectData object, String name)
protected String getIdProperty(ObjectData object, String name)
protected GregorianCalendar getDateTimeProperty(ObjectData object, String name)
protected Boolean getBooleanProperty(ObjectData object, String name)
protected BigInteger getIntegerProperty(ObjectData object, String name)
Copyright © 2009–2017 The Apache Software Foundation. All rights reserved.