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