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

InvalidConfigException   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 75
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 1
dl 0
loc 75
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A fromPHPFileError() 0 4 1
A fromJSONFileError() 0 4 1
A fromYAMLFileError() 0 4 1
A fromNameWhenClassAndFactorySpecified() 0 7 1
A fromNameWhenClassAndServiceSpecified() 0 7 1
A fromNameWhenFactoryAndServiceSpecified() 0 7 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