Initial xentral_oss_20.3.c9ffacf

This commit is contained in:
Alex
2021-05-21 08:49:41 +02:00
parent 5406e4a551
commit 34e5ac43d9
18884 changed files with 2109867 additions and 0 deletions
@@ -0,0 +1,66 @@
<?php
declare(strict_types=1);
namespace Xentral\Components\SchemaCreator\Index;
use Xentral\Components\SchemaCreator\Interfaces\IndexInterface;
use Xentral\Components\SchemaCreator\Interfaces\UniqueIndexInterface;
final class Unique implements IndexInterface, UniqueIndexInterface
{
/** @var string $type */
private $type = UniqueIndexInterface::TYPE;
/** @var string|null $name */
private $name;
/** @var array $references */
private $references;
/**
* @param array $references
* @param string|null $name
*/
public function __construct(array $references, ?string $name = null)
{
$this->name = $name;
$this->references = $references;
}
/**
* @inheritDoc
*/
public function getType(): string
{
return $this->type;
}
/**
* @inheritDoc
*/
public function getName(): string
{
if (empty($this->name)) {
return 'unique_'.implode('_', array_map('strtolower', $this->references));
}
return $this->name;
}
/**
* @inheritDoc
*/
public function getReferences(): array
{
return $this->references;
}
/**
* @inheritDoc
*/
public function isUnique(): bool
{
return true;
}
}