You are here

AbstractConstraint.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/composer/semver/src/Constraint/AbstractConstraint.php

File

vendor/composer/semver/src/Constraint/AbstractConstraint.php
View source
<?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;


/**
 * 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 MultiConstraint) {

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

      // see note at bottom of this class declaration
      return $this
        ->matchSpecific($provider);
    }
    return true;
  }

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

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

}

Classes

Namesort descending Description
AbstractConstraint Base constraint class.