Completed
Push — master ( 1bae27...fe1a3e )
by Andreas
02:24
created

fromNameWhenFactoryAndServiceSpecified()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 1
1
<?php
2
3
namespace TomPHP\ContainerConfigurator\Exception;
4
5
use LogicException;
6
use TomPHP\ExceptionConstructorTools;
7
8
final class InvalidConfigException extends LogicException implements Exception
9
{
10
    use ExceptionConstructorTools;
11
12
    /**
13
     * @param string $filename
14
     *
15
     * @return self
16
     */
17
    public static function fromPHPFileError($filename)
18
    {
19
        return self::create('"%s" does not return a PHP array.', [$filename]);
20
    }
21
22
    /**
23
     * @param string $filename
24
     * @param string $message
25
     *
26
     * @return self
27
     */
28
    public static function fromJSONFileError($filename, $message)
29
    {
30
        return self::create('Invalid JSON in "%s": %s', [$filename, $message]);
31
    }
32
33
    /**
34
     * @param string $filename
35
     * @param string $message
36
     *
37
     * @return self
38
     */
39
    public static function fromYAMLFileError($filename, $message)
40
    {
41
        return self::create('Invalid YAML in "%s": %s', [$filename, $message]);
42
    }
43
44
    /**
45
     * @param string $name
46
     *
47
     * @return self
48
     */
49
    public static function fromNameWhenClassAndFactorySpecified($name)
50
    {
51
        return self::create(
52
            'Both "class" and "factory" are specified for service "%s"; these cannot be used together.',
53
            [$name]
54
        );
55
    }
56
57
    /**
58
     * @param string $name
59
     *
60
     * @return self
61
     */
62
    public static function fromNameWhenClassAndServiceSpecified($name)
63
    {
64
        return self::create(
65
            'Both "class" and "service" are specified for service "%s"; these cannot be used together.',
66
            [$name]
67
        );
68
    }
69
70
    /**
71
     * @param string $name
72
     *
73
     * @return self
74
     */
75
    public static function fromNameWhenFactoryAndServiceSpecified($name)
76
    {
77
        return self::create(
78
            'Both "factory" and "service" are specified for service "%s"; these cannot be used together.',
79
            [$name]
80
        );
81
    }
82
}
83