The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WebService::Cmis::Folder - Representation of a cmis folder

See CMIS specification document 2.1.5 Folder Object

DESCRIPTION

This is a container object that holds other objects thus establishing a hierarchical structure.

Parent class: WebService::Cmis::Ojbect

METHODS

getChildren(%params) -> $atomFeed

returns a paged AtomFeed. The result set contains a list of objects for each child of the Folder. The actual type of the object returned depends on the object's CMIS base type id. For example, the method might return a list that contains both Document objects and Folder objects.

See CMIS specification document 2.2.3.1 getChildren

The following optional arguments are supported:

  • maxItems

  • skipCount

  • orderBy

  • filter

  • includeRelationships

  • renditionFilter

  • includeAllowableActions

  • includePathSegment

getChildrenLink() -> $href

gets the Atom link that knows how to return this object's children.

returns the 'down' link of type CMIS_TREE_TYPE

getDescendants(%params) -> $atomFeed

gets the descendants of this folder. The descendants are returned as a paged result set object. The result set contains a list of cmis objects where the actual type of each object returned will vary depending on the object's base type id.

See CMIS specification document 2.2.3.2 getDescendants

The following optional argument is supported:

  • depth: Use depth=-1 for all descendants, which is the default if no depth is specified.

  • filter

  • includeAllowableActions

  • includePathSegment

  • includeRelationships

  • renditionFilter

  • types

getFolderParent -> $folderObj

See CMIS specification document 2.2.3.4 getFolderParent

getFolderTree -> $atomFeed

unlike getChildren or getDescendants this method returns only the descendant objects that are folders. The results do not include the current folder.

See CMIS specification document 2.2.3.3 getFolderTree

The following optional arguments are supported:

  • depth

  • filter

  • includeRelationships

  • renditionFilter

  • includeAllowableActions

  • includePathSegment

createDocument( $name, properties=>$propsList, contentFile=>$filename, contentData=>$data, contentType=>$type, contentEncoding=>$encoding, %params ) -> $cmisDocument

creates a new Document object in the current Folder using the properties provided.

See Repository::createDocument

createFolder( $name, properties=>$propertyList, %params ) -> $cmisFolder

creates a new CMIS Folder using the properties provided.

To specify a custom folder type, pass in a property called cmis:objectTypeId representing the type ID of the instance you want to create. If you do not pass in an object type ID, an instance of 'cmis:folder' will be created.

addObject($obj)

Adds an existing fileable non-folder object to a folder. This is the same as moving the object to this folder. See Object::moveTo.

See CMIS specification document 2.2.5.1 addObjectToFolder

removeObject($obj)

removes an object from this folder. this is done by posting it to the unfiled collection, providing the current folderId. See Object::unfile

See CMIS specification document 2.2.5.2

deleteTree

TODO: not implemented yet

See CMIS specification document 2.2.4.15

COPYRIGHT AND LICENSE

Copyright 2012 Michael Daum

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/artistic.html.