annotate vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 <?php
Chris@18 2 namespace TYPO3\PharStreamWrapper\Resolver;
Chris@18 3
Chris@18 4 /*
Chris@18 5 * This file is part of the TYPO3 project.
Chris@18 6 *
Chris@18 7 * It is free software; you can redistribute it and/or modify it under the terms
Chris@18 8 * of the MIT License (MIT). For the full copyright and license information,
Chris@18 9 * please read the LICENSE file that was distributed with this source code.
Chris@18 10 *
Chris@18 11 * The TYPO3 project - inspiring people to share!
Chris@18 12 */
Chris@18 13
Chris@18 14 use TYPO3\PharStreamWrapper\Exception;
Chris@18 15
Chris@18 16 class PharInvocation
Chris@18 17 {
Chris@18 18 /**
Chris@18 19 * @var string
Chris@18 20 */
Chris@18 21 private $baseName;
Chris@18 22
Chris@18 23 /**
Chris@18 24 * @var string
Chris@18 25 */
Chris@18 26 private $alias;
Chris@18 27
Chris@18 28 /**
Chris@18 29 * @var bool
Chris@18 30 * @see \TYPO3\PharStreamWrapper\PharStreamWrapper::collectInvocation()
Chris@18 31 */
Chris@18 32 private $confirmed = false;
Chris@18 33
Chris@18 34 /**
Chris@18 35 * Arbitrary variables to be used by interceptors as registry
Chris@18 36 * (e.g. in order to avoid duplicate processing and assertions)
Chris@18 37 *
Chris@18 38 * @var array
Chris@18 39 */
Chris@18 40 private $variables;
Chris@18 41
Chris@18 42 /**
Chris@18 43 * @param string $baseName
Chris@18 44 * @param string $alias
Chris@18 45 */
Chris@18 46 public function __construct($baseName, $alias = '')
Chris@18 47 {
Chris@18 48 if ($baseName === '') {
Chris@18 49 throw new Exception(
Chris@18 50 'Base-name cannot be empty',
Chris@18 51 1551283689
Chris@18 52 );
Chris@18 53 }
Chris@18 54 $this->baseName = $baseName;
Chris@18 55 $this->alias = $alias;
Chris@18 56 }
Chris@18 57
Chris@18 58 /**
Chris@18 59 * @return string
Chris@18 60 */
Chris@18 61 public function __toString()
Chris@18 62 {
Chris@18 63 return $this->baseName;
Chris@18 64 }
Chris@18 65
Chris@18 66 /**
Chris@18 67 * @return string
Chris@18 68 */
Chris@18 69 public function getBaseName()
Chris@18 70 {
Chris@18 71 return $this->baseName;
Chris@18 72 }
Chris@18 73
Chris@18 74 /**
Chris@18 75 * @return null|string
Chris@18 76 */
Chris@18 77 public function getAlias()
Chris@18 78 {
Chris@18 79 return $this->alias;
Chris@18 80 }
Chris@18 81
Chris@18 82 /**
Chris@18 83 * @return bool
Chris@18 84 */
Chris@18 85 public function isConfirmed()
Chris@18 86 {
Chris@18 87 return $this->confirmed;
Chris@18 88 }
Chris@18 89
Chris@18 90 public function confirm()
Chris@18 91 {
Chris@18 92 $this->confirmed = true;
Chris@18 93 }
Chris@18 94
Chris@18 95 /**
Chris@18 96 * @param string $name
Chris@18 97 * @return mixed|null
Chris@18 98 */
Chris@18 99 public function getVariable($name)
Chris@18 100 {
Chris@18 101 if (!isset($this->variables[$name])) {
Chris@18 102 return null;
Chris@18 103 }
Chris@18 104 return $this->variables[$name];
Chris@18 105 }
Chris@18 106
Chris@18 107 /**
Chris@18 108 * @param string $name
Chris@18 109 * @param mixed $value
Chris@18 110 */
Chris@18 111 public function setVariable($name, $value)
Chris@18 112 {
Chris@18 113 $this->variables[$name] = $value;
Chris@18 114 }
Chris@18 115
Chris@18 116 /**
Chris@18 117 * @param PharInvocation $other
Chris@18 118 * @return bool
Chris@18 119 */
Chris@18 120 public function equals(PharInvocation $other)
Chris@18 121 {
Chris@18 122 return $other->baseName === $this->baseName
Chris@18 123 && $other->alias === $this->alias;
Chris@18 124 }
Chris@18 125 }