IExtendedCollection.php 1.4 KB

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