diff options
Diffstat (limited to 'vendor/sabre/dav/lib/DAV/INodeByPath.php')
-rw-r--r-- | vendor/sabre/dav/lib/DAV/INodeByPath.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/sabre/dav/lib/DAV/INodeByPath.php b/vendor/sabre/dav/lib/DAV/INodeByPath.php new file mode 100644 index 000000000..4d63a33bd --- /dev/null +++ b/vendor/sabre/dav/lib/DAV/INodeByPath.php @@ -0,0 +1,36 @@ +<?php + +declare(strict_types=1); + +namespace Sabre\DAV; + +/** + * INodeByPath. + * + * This interface adds a tiny bit of functionality to collections. + * + * Getting a node that is deep in the tree normally requires going trough each parent node + * which can cause a significant performance overhead. + * + * Implementing this interface allows solving this overhead by directly jumping to the target node. + * + * @copyright Copyright (C) Robin Appelman (https://icewind.nl/) + * @author Robin Appelman (https://icewind.nl/) + * @license http://sabre.io/license/ Modified BSD License + */ +interface INodeByPath +{ + /** + * Returns the INode object for the requested path. + * + * In case where this collection can not retrieve the requested node + * but also can not determine that the node does not exists, + * null should be returned to signal that the caller should fallback + * to walking the directory tree. + * + * @param string $path + * + * @return INode|null + */ + public function getNodeForPath($path); +} |