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