ec980b59343aa8d778f9f669df7043047ee916d1
[yaffs-website] / vendor / doctrine / common / lib / Doctrine / Common / Proxy / Exception / UnexpectedValueException.php
1 <?php
2 /*
3  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14  *
15  * This software consists of voluntary contributions made by many individuals
16  * and is licensed under the MIT license. For more information, see
17  * <http://www.doctrine-project.org>.
18  */
19
20 namespace Doctrine\Common\Proxy\Exception;
21
22 use UnexpectedValueException as BaseUnexpectedValueException;
23
24 /**
25  * Proxy Unexpected Value Exception.
26  *
27  * @link   www.doctrine-project.org
28  * @since  2.4
29  * @author Marco Pivetta <ocramius@gmail.com>
30  */
31 class UnexpectedValueException extends BaseUnexpectedValueException implements ProxyException
32 {
33     /**
34      * @param string $proxyDirectory
35      *
36      * @return self
37      */
38     public static function proxyDirectoryNotWritable($proxyDirectory)
39     {
40         return new self(sprintf('Your proxy directory "%s" must be writable', $proxyDirectory));
41     }
42
43     /**
44      * @param string          $className
45      * @param string          $methodName
46      * @param string          $parameterName
47      * @param \Exception|null $previous
48      *
49      * @return self
50      */
51     public static function invalidParameterTypeHint(
52         $className,
53         $methodName,
54         $parameterName,
55         \Exception $previous = null
56     ) {
57         return new self(
58             sprintf(
59                 'The type hint of parameter "%s" in method "%s" in class "%s" is invalid.',
60                 $parameterName,
61                 $methodName,
62                 $className
63             ),
64             0,
65             $previous
66         );
67     }
68
69     /**
70      * @param $className
71      * @param $methodName
72      * @param \Exception|null $previous
73      *
74      * @return self
75      */
76     public static function invalidReturnTypeHint($className, $methodName, \Exception $previous = null)
77     {
78         return new self(
79             sprintf(
80                 'The return type of method "%s" in class "%s" is invalid.',
81                 $methodName,
82                 $className
83             ),
84             0,
85             $previous
86         );
87     }
88 }