IMultiGet.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. declare(strict_types=1);
  3. namespace Sabre\DAV;
  4. /**
  5. * IMultiGet.
  6. *
  7. * This interface adds a tiny bit of functionality to collections.
  8. *
  9. * There a certain situations, in particular in relation to WebDAV-Sync, CalDAV
  10. * and CardDAV, where information for a list of items will be requested.
  11. *
  12. * Because the getChild() call is the main abstraction method, this can in
  13. * reality result in many database calls, which could potentially be
  14. * optimized.
  15. *
  16. * The MultiGet interface is used by the server in these cases.
  17. *
  18. * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
  19. * @author Evert Pot (http://evertpot.com/)
  20. * @license http://sabre.io/license/ Modified BSD License
  21. */
  22. interface IMultiGet extends ICollection
  23. {
  24. /**
  25. * This method receives a list of paths in it's first argument.
  26. * It must return an array with Node objects.
  27. *
  28. * If any children are not found, you do not have to return them.
  29. *
  30. * @param string[] $paths
  31. *
  32. * @return array
  33. */
  34. public function getMultipleChildren(array $paths);
  35. }