* Jordi Boggiano * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Package; /** * @author Jordi Boggiano */ class RootAliasPackage extends CompleteAliasPackage implements RootPackageInterface { /** @var RootPackage */ protected $aliasOf; /** * All descendants' constructors should call this parent constructor * * @param RootPackage $aliasOf The package this package is an alias of * @param string $version The version the alias must report * @param string $prettyVersion The alias's non-normalized version */ public function __construct(RootPackage $aliasOf, $version, $prettyVersion) { parent::__construct($aliasOf, $version, $prettyVersion); } /** * @return RootPackage */ public function getAliasOf() { return $this->aliasOf; } /** * @inheritDoc */ public function getAliases() { return $this->aliasOf->getAliases(); } /** * @inheritDoc */ public function getMinimumStability() { return $this->aliasOf->getMinimumStability(); } /** * @inheritDoc */ public function getStabilityFlags() { return $this->aliasOf->getStabilityFlags(); } /** * @inheritDoc */ public function getReferences() { return $this->aliasOf->getReferences(); } /** * @inheritDoc */ public function getPreferStable() { return $this->aliasOf->getPreferStable(); } /** * @inheritDoc */ public function getConfig() { return $this->aliasOf->getConfig(); } /** * @inheritDoc */ public function setRequires(array $require): void { $this->requires = $this->replaceSelfVersionDependencies($require, Link::TYPE_REQUIRE); $this->aliasOf->setRequires($require); } /** * @inheritDoc */ public function setDevRequires(array $devRequire): void { $this->devRequires = $this->replaceSelfVersionDependencies($devRequire, Link::TYPE_DEV_REQUIRE); $this->aliasOf->setDevRequires($devRequire); } /** * @inheritDoc */ public function setConflicts(array $conflicts): void { $this->conflicts = $this->replaceSelfVersionDependencies($conflicts, Link::TYPE_CONFLICT); $this->aliasOf->setConflicts($conflicts); } /** * @inheritDoc */ public function setProvides(array $provides): void { $this->provides = $this->replaceSelfVersionDependencies($provides, Link::TYPE_PROVIDE); $this->aliasOf->setProvides($provides); } /** * @inheritDoc */ public function setReplaces(array $replaces): void { $this->replaces = $this->replaceSelfVersionDependencies($replaces, Link::TYPE_REPLACE); $this->aliasOf->setReplaces($replaces); } /** * @inheritDoc */ public function setAutoload(array $autoload): void { $this->aliasOf->setAutoload($autoload); } /** * @inheritDoc */ public function setDevAutoload(array $devAutoload): void { $this->aliasOf->setDevAutoload($devAutoload); } /** * @inheritDoc */ public function setStabilityFlags(array $stabilityFlags): void { $this->aliasOf->setStabilityFlags($stabilityFlags); } /** * @inheritDoc */ public function setMinimumStability($minimumStability): void { $this->aliasOf->setMinimumStability($minimumStability); } /** * @inheritDoc */ public function setPreferStable($preferStable): void { $this->aliasOf->setPreferStable($preferStable); } /** * @inheritDoc */ public function setConfig(array $config): void { $this->aliasOf->setConfig($config); } /** * @inheritDoc */ public function setReferences(array $references): void { $this->aliasOf->setReferences($references); } /** * @inheritDoc */ public function setAliases(array $aliases): void { $this->aliasOf->setAliases($aliases); } /** * @inheritDoc */ public function setSuggests(array $suggests): void { $this->aliasOf->setSuggests($suggests); } /** * @inheritDoc */ public function setExtra(array $extra): void { $this->aliasOf->setExtra($extra); } public function __clone() { parent::__clone(); $this->aliasOf = clone $this->aliasOf; } }