diff vendor/phar-io/manifest/src/values/Extension.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/phar-io/manifest/src/values/Extension.php	Mon Apr 23 09:46:53 2018 +0100
@@ -0,0 +1,75 @@
+<?php
+/*
+ * This file is part of PharIo\Manifest.
+ *
+ * (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 PharIo\Manifest;
+
+use PharIo\Version\Version;
+use PharIo\Version\VersionConstraint;
+
+class Extension extends Type {
+    /**
+     * @var ApplicationName
+     */
+    private $application;
+
+    /**
+     * @var VersionConstraint
+     */
+    private $versionConstraint;
+
+    /**
+     * @param ApplicationName   $application
+     * @param VersionConstraint $versionConstraint
+     */
+    public function __construct(ApplicationName $application, VersionConstraint $versionConstraint) {
+        $this->application       = $application;
+        $this->versionConstraint = $versionConstraint;
+    }
+
+    /**
+     * @return ApplicationName
+     */
+    public function getApplicationName() {
+        return $this->application;
+    }
+
+    /**
+     * @return VersionConstraint
+     */
+    public function getVersionConstraint() {
+        return $this->versionConstraint;
+    }
+
+    /**
+     * @return bool
+     */
+    public function isExtension() {
+        return true;
+    }
+
+    /**
+     * @param ApplicationName $name
+     *
+     * @return bool
+     */
+    public function isExtensionFor(ApplicationName $name) {
+        return $this->application->isEqual($name);
+    }
+
+    /**
+     * @param ApplicationName $name
+     * @param Version         $version
+     *
+     * @return bool
+     */
+    public function isCompatibleWith(ApplicationName $name, Version $version) {
+        return $this->isExtensionFor($name) && $this->versionConstraint->complies($version);
+    }
+}