2021-01-16 13:23:37 +01:00
< ? php
2021-05-09 20:15:43 +00:00
declare ( strict_types = 1 );
2021-01-16 13:23:37 +01:00
namespace Rector\Composer\ValueObject ;
2021-01-18 11:07:57 +01:00
use Rector\Composer\Contract\VersionAwareInterface ;
2021-01-26 02:32:23 +01:00
use Rector\Composer\Rector\ChangePackageVersionComposerRector ;
2021-09-27 12:26:58 +00:00
use RectorPrefix20210927\Webmozart\Assert\Assert ;
2021-05-10 22:23:08 +00:00
final class ReplacePackageAndVersion implements \Rector\Composer\Contract\VersionAwareInterface
2021-01-16 13:23:37 +01:00
{
/**
* @ var string
*/
private $oldPackageName ;
/**
* @ var string
*/
private $newPackageName ;
/**
* @ var string
*/
2021-01-18 11:07:57 +01:00
private $version ;
public function __construct ( string $oldPackageName , string $newPackageName , string $version )
2021-01-16 13:23:37 +01:00
{
2021-05-10 23:39:21 +00:00
$this -> version = $version ;
2021-09-27 12:26:58 +00:00
\RectorPrefix20210927\Webmozart\Assert\Assert :: notSame ( $oldPackageName , $newPackageName , 'Old and new package have to be different. If you want to only change package version, use ' . \Rector\Composer\Rector\ChangePackageVersionComposerRector :: class );
2021-01-16 13:23:37 +01:00
$this -> oldPackageName = $oldPackageName ;
$this -> newPackageName = $newPackageName ;
}
2021-05-09 20:15:43 +00:00
public function getOldPackageName () : string
2021-01-16 13:23:37 +01:00
{
return $this -> oldPackageName ;
}
2021-05-09 20:15:43 +00:00
public function getNewPackageName () : string
2021-01-16 13:23:37 +01:00
{
return $this -> newPackageName ;
}
2021-05-09 20:15:43 +00:00
public function getVersion () : string
2021-01-16 13:23:37 +01:00
{
2021-01-18 11:07:57 +01:00
return $this -> version ;
2021-01-16 13:23:37 +01:00
}
}