OpenXE/classes/Components/SchemaCreator/Index/Constraint.php

115 lines
2.0 KiB
PHP
Raw Permalink Normal View History

2021-05-21 08:49:41 +02:00
<?php
declare(strict_types=1);
namespace Xentral\Components\SchemaCreator\Index;
use Xentral\Components\SchemaCreator\Interfaces\IndexInterface;
final class Constraint implements IndexInterface
{
/** @var string $type */
private $type = 'CONSTRAINT';
/** @var string $foreignKey */
private $foreignKey;
/** @var string $parentTable */
private $parentTable;
/** @var string $parentId */
private $parentId;
/** @var array $cascadeOn */
private $cascadeOn;
/** @var string $name */
private $name;
/**
* @param string $name
* @param array $foreignKey
* @param string $parentTable
* @param array $parentId
* @param array $cascadeOn
*/
public function __construct(
string $name,
array $foreignKey,
string $parentTable,
array $parentId,
array $cascadeOn = []
) {
$this->parentId = $parentId;
$this->foreignKey = $foreignKey;
$this->cascadeOn = $cascadeOn;
$this->parentTable = $parentTable;
$this->name = $name;
}
/**
* @return array
*/
public function getParenId(): array
{
return $this->parentId;
}
/**
* @return string
*/
public function getParentTable(): string
{
return $this->parentTable;
}
/**
* @return array
*/
public function getCascadeOn(): array
{
return $this->cascadeOn;
}
/**
* @return string
*/
public function getType(): string
{
return $this->type;
}
/**
* @return string
*/
public function getForeignKey(): array
{
return $this->foreignKey;
}
/**
* @inheritDoc
*/
public function getName(): string
{
return $this->name;
}
/**
* @inheritDoc
*/
public function getReferences(): array
{
return [];
}
/**
* @inheritDoc
*/
public function isUnique(): bool
{
return false;
}
}