| Current Path : /home/rtorresani/www/vendor/magento/framework/Setup/Declaration/Schema/Dto/Columns/ |
| Current File : //home/rtorresani/www/vendor/magento/framework/Setup/Declaration/Schema/Dto/Columns/Boolean.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Setup\Declaration\Schema\Dto\Columns;
use Magento\Framework\Setup\Declaration\Schema\Dto\Column;
use Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface;
use Magento\Framework\Setup\Declaration\Schema\Dto\Table;
/**
* Boolean column.
* Declared in SQL, like TINYINT(1) or BOOL or BOOLEAN. Alias for integer or binary type.
*/
class Boolean extends Column implements
ElementDiffAwareInterface,
ColumnNullableAwareInterface,
ColumnDefaultAwareInterface
{
/**
* @var bool
*/
private $nullable;
/**
* @var bool
*/
private $default;
/**
* Constructor.
*
* @param string $name
* @param string $type
* @param Table $table
* @param bool $nullable
* @param bool $default
* @param string|null $comment
* @param string|null $onCreate
*/
public function __construct(
string $name,
string $type,
Table $table,
bool $nullable = true,
bool $default = null,
string $comment = null,
string $onCreate = null
) {
parent::__construct($name, $type, $table, $comment, $onCreate);
$this->nullable = $nullable;
$this->default = $default;
}
/**
* Check whether column can be nullable.
*
* @return bool
*/
public function isNullable()
{
return $this->nullable;
}
/**
* Return default value.
* Note: default value should be int.
*
* @return int|null
*/
public function getDefault()
{
return $this->default;
}
/**
* @inheritdoc
*/
public function getDiffSensitiveParams()
{
return [
'nullable' => $this->isNullable(),
'default' => $this->getDefault(),
'comment' => $this->getComment()
];
}
}