SchemaColumnDefinitionEventArgs.php 2.08 KB
Newer Older
1 2 3 4
<?php

namespace Doctrine\DBAL\Event;

Benjamin Morel's avatar
Benjamin Morel committed
5
use Doctrine\DBAL\Connection;
6
use Doctrine\DBAL\Platforms\AbstractPlatform;
Benjamin Morel's avatar
Benjamin Morel committed
7
use Doctrine\DBAL\Schema\Column;
8 9

/**
jsor's avatar
jsor committed
10
 * Event Arguments used when the portable column definition is generated inside Doctrine\DBAL\Schema\AbstractSchemaManager.
11 12 13
 */
class SchemaColumnDefinitionEventArgs extends SchemaEventArgs
{
14
    /** @var Column|null */
15
    private $column = null;
16

17
    /**
Benjamin Morel's avatar
Benjamin Morel committed
18
     * Raw column data as fetched from the database.
19
     *
20
     * @var mixed[]
21
     */
22
    private $tableColumn;
23

24
    /** @var string */
25
    private $table;
26

27
    /** @var string */
28
    private $database;
29

30
    /** @var Connection */
31
    private $connection;
32 33

    /**
34 35 36
     * @param mixed[] $tableColumn
     * @param string  $table
     * @param string  $database
37
     */
38 39
    public function __construct(array $tableColumn, $table, $database, Connection $connection)
    {
40 41 42 43
        $this->tableColumn = $tableColumn;
        $this->table       = $table;
        $this->database    = $database;
        $this->connection  = $connection;
44
    }
45 46

    /**
47 48 49
     * Allows to clear the column which means the column will be excluded from
     * tables column list.
     *
Benjamin Morel's avatar
Benjamin Morel committed
50
     * @return \Doctrine\DBAL\Event\SchemaColumnDefinitionEventArgs
51
     */
52
    public function setColumn(?Column $column = null)
53
    {
54
        $this->column = $column;
55 56

        return $this;
57
    }
58

59
    /**
60
     * @return Column|null
61 62 63
     */
    public function getColumn()
    {
64
        return $this->column;
65 66
    }

67
    /**
68
     * @return mixed[]
69 70 71
     */
    public function getTableColumn()
    {
72
        return $this->tableColumn;
73 74
    }

75 76 77 78 79
    /**
     * @return string
     */
    public function getTable()
    {
80
        return $this->table;
81 82 83 84 85 86 87
    }

    /**
     * @return string
     */
    public function getDatabase()
    {
88
        return $this->database;
89 90 91
    }

    /**
92
     * @return Connection
93 94 95
     */
    public function getConnection()
    {
96
        return $this->connection;
97 98 99
    }

    /**
100
     * @return AbstractPlatform
101 102 103
     */
    public function getDatabasePlatform()
    {
104
        return $this->connection->getDatabasePlatform();
105 106
    }
}