Вход Регистрация
Файл: vendor/phar-io/manifest/src/values/Extension.php
Строк: 101
<?php declare(strict_types 1);
/*
 * This file is part of PharIoManifest.
 *
 * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PharIoManifest;

use 
PharIoVersionVersion;
use 
PharIoVersionVersionConstraint;

class 
Extension extends Type {
    
/** @var ApplicationName */
    
private $application;

    
/** @var VersionConstraint */
    
private $versionConstraint;

    public function 
__construct(ApplicationName $applicationVersionConstraint $versionConstraint) {
        
$this->application       $application;
        
$this->versionConstraint $versionConstraint;
    }

    public function 
getApplicationName(): ApplicationName {
        return 
$this->application;
    }

    public function 
getVersionConstraint(): VersionConstraint {
        return 
$this->versionConstraint;
    }

    public function 
isExtension(): bool {
        return 
true;
    }

    public function 
isExtensionFor(ApplicationName $name): bool {
        return 
$this->application->isEqual($name);
    }

    public function 
isCompatibleWith(ApplicationName $nameVersion $version): bool {
        return 
$this->isExtensionFor($name) && $this->versionConstraint->complies($version);
    }
}
Онлайн: 1
Реклама