Seditio Source
Root |
./othercms/drupal-7.90/misc/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php
<?php
namespace TYPO3\PharStreamWrapper\Resolver;

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

use TYPO3\PharStreamWrapper\Exception;

class
PharInvocation
{
   
/**
     * @var string
     */
   
private $baseName;

   
/**
     * @var string
     */
   
private $alias;

   
/**
     * @var bool
     * @see \TYPO3\PharStreamWrapper\PharStreamWrapper::collectInvocation()
     */
   
private $confirmed = false;

   
/**
     * Arbitrary variables to be used by interceptors as registry
     * (e.g. in order to avoid duplicate processing and assertions)
     *
     * @var array
     */
   
private $variables;

   
/**
     * @param string $baseName
     * @param string $alias
     */
   
public function __construct($baseName, $alias = '')
    {
        if (
$baseName === '') {
            throw new
Exception(
               
'Base-name cannot be empty',
               
1551283689
           
);
        }
       
$this->baseName = $baseName;
       
$this->alias = $alias;
    }

   
/**
     * @return string
     */
   
public function __toString()
    {
        return
$this->baseName;
    }

   
/**
     * @return string
     */
   
public function getBaseName()
    {
        return
$this->baseName;
    }

   
/**
     * @return null|string
     */
   
public function getAlias()
    {
        return
$this->alias;
    }

   
/**
     * @return bool
     */
   
public function isConfirmed()
    {
        return
$this->confirmed;
    }

    public function
confirm()
    {
       
$this->confirmed = true;
    }

   
/**
     * @param string $name
     * @return mixed|null
     */
   
public function getVariable($name)
    {
        if (!isset(
$this->variables[$name])) {
            return
null;
        }
        return
$this->variables[$name];
    }

   
/**
     * @param string $name
     * @param mixed $value
     */
   
public function setVariable($name, $value)
    {
       
$this->variables[$name] = $value;
    }

   
/**
     * @param PharInvocation $other
     * @return bool
     */
   
public function equals(PharInvocation $other)
    {
        return
$other->baseName === $this->baseName
           
&& $other->alias === $this->alias;
    }
}