1<?php 2 3namespace Sabre\DAV; 4 5/** 6 * The IExtendedCollection interface. 7 * 8 * This interface can be used to create special-type of collection-resources 9 * as defined by RFC 5689. 10 * 11 * @copyright Copyright (C) fruux GmbH (https://fruux.com/) 12 * @author Evert Pot (http://evertpot.com/) 13 * @license http://sabre.io/license/ Modified BSD License 14 */ 15interface IExtendedCollection extends ICollection { 16 17 /** 18 * Creates a new collection. 19 * 20 * This method will receive a MkCol object with all the information about 21 * the new collection that's being created. 22 * 23 * The MkCol object contains information about the resourceType of the new 24 * collection. If you don't support the specified resourceType, you should 25 * throw Exception\InvalidResourceType. 26 * 27 * The object also contains a list of WebDAV properties for the new 28 * collection. 29 * 30 * You should call the handle() method on this object to specify exactly 31 * which properties you are storing. This allows the system to figure out 32 * exactly which properties you didn't store, which in turn allows other 33 * plugins (such as the propertystorage plugin) to handle storing the 34 * property for you. 35 * 36 * @param string $name 37 * @param MkCol $mkCol 38 * @throws Exception\InvalidResourceType 39 * @return void 40 */ 41 function createExtendedCollection($name, MkCol $mkCol); 42 43} 44