Version 1
[yaffs-website] / vendor / mikey179 / vfsStream / src / main / php / org / bovigo / vfs / vfsStreamContent.php
diff --git a/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
new file mode 100644 (file)
index 0000000..03b5bab
--- /dev/null
@@ -0,0 +1,213 @@
+<?php
+/**
+ * This file is part of vfsStream.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @package  org\bovigo\vfs
+ */
+namespace org\bovigo\vfs;
+/**
+ * Interface for stream contents.
+ */
+interface vfsStreamContent
+{
+    /**
+     * stream content type: file
+     *
+     * @see  getType()
+     */
+    const TYPE_FILE = 0100000;
+    /**
+     * stream content type: directory
+     *
+     * @see  getType()
+     */
+    const TYPE_DIR  = 0040000;
+    /**
+     * stream content type: symbolic link
+     *
+     * @see  getType();
+     */
+    #const TYPE_LINK = 0120000;
+
+    /**
+     * stream content type: block
+     *
+     * @see getType()
+     */
+    const TYPE_BLOCK = 0060000;
+
+    /**
+     * returns the file name of the content
+     *
+     * @return  string
+     */
+    public function getName();
+
+    /**
+     * renames the content
+     *
+     * @param  string  $newName
+     */
+    public function rename($newName);
+
+    /**
+     * checks whether the container can be applied to given name
+     *
+     * @param   string  $name
+     * @return  bool
+     */
+    public function appliesTo($name);
+
+    /**
+     * returns the type of the container
+     *
+     * @return  int
+     */
+    public function getType();
+
+    /**
+     * returns size of content
+     *
+     * @return  int
+     */
+    public function size();
+
+    /**
+     * sets the last modification time of the stream content
+     *
+     * @param   int  $filemtime
+     * @return  vfsStreamContent
+     */
+    public function lastModified($filemtime);
+
+    /**
+     * returns the last modification time of the stream content
+     *
+     * @return  int
+     */
+    public function filemtime();
+
+    /**
+     * adds content to given container
+     *
+     * @param   vfsStreamContainer  $container
+     * @return  vfsStreamContent
+     */
+    public function at(vfsStreamContainer $container);
+
+    /**
+     * change file mode to given permissions
+     *
+     * @param   int  $permissions
+     * @return  vfsStreamContent
+     */
+    public function chmod($permissions);
+
+    /**
+     * returns permissions
+     *
+     * @return  int
+     */
+    public function getPermissions();
+
+    /**
+     * checks whether content is readable
+     *
+     * @param   int   $user   id of user to check for
+     * @param   int   $group  id of group to check for
+     * @return  bool
+     */
+    public function isReadable($user, $group);
+
+    /**
+     * checks whether content is writable
+     *
+     * @param   int   $user   id of user to check for
+     * @param   int   $group  id of group to check for
+     * @return  bool
+     */
+    public function isWritable($user, $group);
+
+    /**
+     * checks whether content is executable
+     *
+     * @param   int   $user   id of user to check for
+     * @param   int   $group  id of group to check for
+     * @return  bool
+     */
+    public function isExecutable($user, $group);
+
+    /**
+     * change owner of file to given user
+     *
+     * @param   int  $user
+     * @return  vfsStreamContent
+     */
+    public function chown($user);
+
+    /**
+     * checks whether file is owned by given user
+     *
+     * @param   int  $user
+     * @return  bool
+     */
+    public function isOwnedByUser($user);
+
+    /**
+     * returns owner of file
+     *
+     * @return  int
+     */
+    public function getUser();
+
+    /**
+     * change owner group of file to given group
+     *
+     * @param   int  $group
+     * @return  vfsStreamContent
+     */
+    public function chgrp($group);
+
+    /**
+     * checks whether file is owned by group
+     *
+     * @param   int   $group
+     * @return  bool
+     */
+    public function isOwnedByGroup($group);
+
+    /**
+     * returns owner group of file
+     *
+     * @return  int
+     */
+    public function getGroup();
+
+    /**
+     * sets parent path
+     *
+     * @param  string  $parentPath
+     * @internal  only to be set by parent
+     * @since   1.2.0
+     */
+    public function setParentPath($parentPath);
+
+    /**
+     * returns path to this content
+     *
+     * @return  string
+     * @since   1.2.0
+     */
+    public function path();
+
+    /**
+     * returns complete vfsStream url for this content
+     *
+     * @return  string
+     * @since   1.2.0
+     */
+    public function url();
+}