. * * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco, * California 94120-7775, or email info@knowledgetree.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. * * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * KnowledgeTree" logo and retain the original copyright notice. If the display of the * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices * must display the words "Powered by KnowledgeTree" and retain the original * copyright notice. * Contributor( s): ______________________________________ */ /** * * @copyright 2008-2010, KnowledgeTree Inc. * @license GNU General Public License version 3 * @author KnowledgeTree Team * @package KTCMIS * @version Version 0.1 */ class CMISRepositoryCapabilities { // TODO we need an enum equivalent class which can be used to define acceptable values for all which are not boolean // navigation capabilities protected $capabilityGetDescendants; // true/false protected $capabilityGetFolderTree; // true/false // object capabilities protected $capabilityContentStreamUpdatability; // none/anytime/pwconly protected $capabilityChanges; // none/objectidsonly/properties/all protected $capabilityRenditions; // none/read // filing capabilities protected $capabilityMultifiling; // true/false protected $capabilityUnfiling; // true/false protected $capabilityVersionSpecificFiling; // true/false // versioning capabilities protected $capabilityPWCUpdateable; // true/false protected $capabilityPWCSearchable; // true/false protected $capabilityAllVersionsSearchable; // true/false // query capabilities protected $capabilityQuery; // none/metadataonly/fulltextonly/bothseparate/bothcombined protected $capabilityJoin; // none/inneronly/innerandouter // acl capabilities protected $capabilityACL; // none/discover/manage /** * Set a single field value * * @param string $field * @param string/int $value * @return a collection of repository entries * * TODO when we have the enum class in place we will need to check whether the value is of type enum and call its set function * to ensure that the rules are followed */ function setFieldValue($field, $value) { $this->{$field} = ($value == 'true' ? true : ($value == 'false' ? false : $value)); } /** * Gets the value of the capabilityMultifiling property. * */ public function hasCapabilityGetDescendants() { return $this->capabilityGetDescendants; } /** * Gets the value of the capabilityMultifiling property. * */ public function hasCapabilityGetFolderTree() { return $this->capabilityGetFolderTree; } /** * Gets the value of the capabilityContentStreamUpdatability property. * * @return * possible object is * {@link EnumCapabilityContentStreamUpdatability } * */ public function getCapabilityContentStreamUpdatability() { return $this->capabilityContentStreamUpdatability; } /** * Gets the value of the capabilityChanges property. * * @return * possible object is * {@link EnumCapabilityChanges } * */ public function getCapabilityChanges() { return $this->capabilityChanges; } /** * Gets the value of the capabilityRenditions property. * * @return * possible object is * {@link EnumCapabilityRenditions } * */ public function getCapabilityRenditions() { return $this->capabilityRenditions; } /** * Gets the value of the capabilityMultifiling property. * */ public function hasCapabilityMultifiling() { return $this->capabilityMultifiling; } /** * Gets the value of the capabilityUnfiling property. * */ public function hasCapabilityUnfiling() { return $this->capabilityUnfiling; } /** * Gets the value of the capabilityVersionSpecificFiling property. * */ public function hasCapabilityVersionSpecificFiling() { return $this->capabilityVersionSpecificFiling; } /** * Gets the value of the capabilityPWCUpdateable property. * */ public function hasCapabilityPWCUpdateable() { return $this->capabilityPWCUpdateable; } /** * Gets the value of the capabilityPWCSearchable property. * */ public function hasCapabilityPWCSearchable() { return $this->capabilityPWCSearchable; } /** * Gets the value of the capabilityAllVersionsSearchable property. * */ public function hasCapabilityAllVersionsSearchable() { return $this->capabilityAllVersionsSearchable; } /** * Gets the value of the capabilityQuery property. * * @return * possible object is * {@link EnumCapabilityQuery } * */ public function getCapabilityQuery() { return $this->capabilityQuery; } /** * Gets the value of the capabilityJoin property. * * @return * possible object is * {@link EnumCapabilityJoin } * */ public function getCapabilityJoin() { return $this->capabilityJoin; } /** * Gets the value of the capabilityACL property. * * @return * possible object is * {@link EnumCapabilityACL } * */ public function getCapabilityACL() { return $this->capabilityACL; } // /** // * Gets the value of the any property. // * // *

// * This accessor method returns a reference to the live list, // * not a snapshot. Therefore any modification you make to the // * returned list will be present inside the JAXB object. // * This is why there is not a set method for the any property. // * // *

// * For example, to add a new item, do as follows: // *

//     *    getAny().add(newItem);
//     * 
// * // * // *

// * Objects of the following type(s) are allowed in the list // * {@link Element } // * // * // */ // public List getAny() { // if (any == null) { // any = new ArrayList(); // } // return $this->any; // } // /** // * Gets a map that contains attributes that aren't bound to any typed property on this class. // * // *

// * the map is keyed by the name of the attribute and // * the value is the string value of the attribute. // * // * the map returned by this method is live, and you can add new attribute // * by updating the map directly. Because of this design, there's no setter. // * // * // * @return // * always non-null // */ // public Map getOtherAttributes() { // return $this->otherAttributes; // } } ?>