Sha256: 41d3ab0c2323289f1200890232d41f01046746db6ed8328bdf2f08c0a83da730

Contents?: true

Size: 1.61 KB

Versions: 18

Compression:

Stored size: 1.61 KB

Contents

<?php

/*
 * This file is part of composer/semver.
 *
 * (c) Composer <https://github.com/composer>
 *
 * For the full copyright and license information, please view
 * the LICENSE file that was distributed with this source code.
 */

namespace Composer\Semver\Constraint;

trigger_error('The ' . __NAMESPACE__ . '\AbstractConstraint abstract class is deprecated, there is no replacement for it, it will be removed in the next major version.', E_USER_DEPRECATED);

/**
 * Base constraint class.
 */
abstract class AbstractConstraint implements ConstraintInterface
{
    /** @var string */
    protected $prettyString;

    /**
     * @param ConstraintInterface $provider
     *
     * @return bool
     */
    public function matches(ConstraintInterface $provider)
    {
        if ($provider instanceof $this) {
            // see note at bottom of this class declaration
            return $this->matchSpecific($provider);
        }

        // turn matching around to find a match
        return $provider->matches($this);
    }

    /**
     * @param string $prettyString
     */
    public function setPrettyString($prettyString)
    {
        $this->prettyString = $prettyString;
    }

    /**
     * @return string
     */
    public function getPrettyString()
    {
        if ($this->prettyString) {
            return $this->prettyString;
        }

        return $this->__toString();
    }

    // implementations must implement a method of this format:
    // not declared abstract here because type hinting violates parameter coherence (TODO right word?)
    // public function matchSpecific(<SpecificConstraintType> $provider);
}

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
dependabot-composer-0.119.0.beta1 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.113.19 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.112.1 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.57 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.56 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.52 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.50 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.25 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.17 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.111.15 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.110.13 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.108.11 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.108.8 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.107.47 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.107.39 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.107.36 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.107.28 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php
dependabot-composer-0.107.14 helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php