Projet

Général

Profil

Paste
Télécharger (2,42 ko) Statistiques
| Branche: | Révision:

root / drupal7 / misc / typo3 / phar-stream-wrapper / src / Resolver / PharInvocation.php @ fbb66ca6

1
<?php
2
namespace TYPO3\PharStreamWrapper\Resolver;
3

    
4
/*
5
 * This file is part of the TYPO3 project.
6
 *
7
 * It is free software; you can redistribute it and/or modify it under the terms
8
 * of the MIT License (MIT). For the full copyright and license information,
9
 * please read the LICENSE file that was distributed with this source code.
10
 *
11
 * The TYPO3 project - inspiring people to share!
12
 */
13

    
14
use TYPO3\PharStreamWrapper\Exception;
15

    
16
class PharInvocation
17
{
18
    /**
19
     * @var string
20
     */
21
    private $baseName;
22

    
23
    /**
24
     * @var string
25
     */
26
    private $alias;
27

    
28
    /**
29
     * @var bool
30
     * @see \TYPO3\PharStreamWrapper\PharStreamWrapper::collectInvocation()
31
     */
32
    private $confirmed = false;
33

    
34
    /**
35
     * Arbitrary variables to be used by interceptors as registry
36
     * (e.g. in order to avoid duplicate processing and assertions)
37
     *
38
     * @var array
39
     */
40
    private $variables;
41

    
42
    /**
43
     * @param string $baseName
44
     * @param string $alias
45
     */
46
    public function __construct($baseName, $alias = '')
47
    {
48
        if ($baseName === '') {
49
            throw new Exception(
50
                'Base-name cannot be empty',
51
                1551283689
52
            );
53
        }
54
        $this->baseName = $baseName;
55
        $this->alias = $alias;
56
    }
57

    
58
    /**
59
     * @return string
60
     */
61
    public function __toString()
62
    {
63
        return $this->baseName;
64
    }
65

    
66
    /**
67
     * @return string
68
     */
69
    public function getBaseName()
70
    {
71
        return $this->baseName;
72
    }
73

    
74
    /**
75
     * @return null|string
76
     */
77
    public function getAlias()
78
    {
79
        return $this->alias;
80
    }
81

    
82
    /**
83
     * @return bool
84
     */
85
    public function isConfirmed()
86
    {
87
        return $this->confirmed;
88
    }
89

    
90
    public function confirm()
91
    {
92
        $this->confirmed = true;
93
    }
94

    
95
    /**
96
     * @param string $name
97
     * @return mixed|null
98
     */
99
    public function getVariable($name)
100
    {
101
        if (!isset($this->variables[$name])) {
102
            return null;
103
        }
104
        return $this->variables[$name];
105
    }
106

    
107
    /**
108
     * @param string $name
109
     * @param mixed $value
110
     */
111
    public function setVariable($name, $value)
112
    {
113
        $this->variables[$name] = $value;
114
    }
115

    
116
    /**
117
     * @param PharInvocation $other
118
     * @return bool
119
     */
120
    public function equals(PharInvocation $other)
121
    {
122
        return $other->baseName === $this->baseName
123
            && $other->alias === $this->alias;
124
    }
125
}