44
55use MySQLReplication \Definitions \ConstEventsNames ;
66use MySQLReplication \Event \EventInfo ;
7+ use MySQLReplication \Event \RowEvent \TableMap ;
78
89/**
910 * Class TableMapDTO
1011 * @package MySQLReplication\DTO
1112 */
1213class TableMapDTO extends EventDTO implements \JsonSerializable
1314{
14- /**
15- * @var int
16- */
17- private $ tableId ;
18- /**
19- * @var string
20- */
21- private $ database ;
2215 /**
2316 * @var string
2417 */
25- private $ table ;
18+ private $ type = ConstEventsNames:: TABLE_MAP ;
2619 /**
27- * @var
20+ * @var TableMap
2821 */
29- private $ columns ;
22+ private $ tableMap ;
3023
3124 /**
3225 * TableMapDTO constructor.
3326 * @param EventInfo $eventInfo
34- * @param $tableId
35- * @param $database
36- * @param $table
37- * @param $columns
27+ * @param TableMap $tableMap
3828 */
3929 public function __construct (
4030 EventInfo $ eventInfo ,
41- $ tableId ,
42- $ database ,
43- $ table ,
44- $ columns
31+ TableMap $ tableMap
4532 ) {
4633 parent ::__construct ($ eventInfo );
4734
48- $ this ->tableId = $ tableId ;
49- $ this ->database = $ database ;
50- $ this ->table = $ table ;
51- $ this ->columns = $ columns ;
52- }
53-
54- /**
55- * @return int
56- */
57- public function getTableId ()
58- {
59- return $ this ->tableId ;
60- }
61-
62- /**
63- * @return string
64- */
65- public function getDatabase ()
66- {
67- return $ this ->database ;
35+ $ this ->tableMap = $ tableMap ;
6836 }
6937
7038 /**
7139 * @return string
7240 */
73- public function getTable ()
74- {
75- return $ this ->table ;
76- }
77-
78- /**
79- * @return int
80- */
81- public function getColumns ()
41+ public function __toString ()
8242 {
83- return $ this ->columns ;
43+ return PHP_EOL .
44+ '=== Event ' . $ this ->getType () . ' === ' . PHP_EOL .
45+ 'Date: ' . $ this ->eventInfo ->getDateTime () . PHP_EOL .
46+ 'Log position: ' . $ this ->eventInfo ->getPos () . PHP_EOL .
47+ 'Event size: ' . $ this ->eventInfo ->getSize () . PHP_EOL .
48+ 'Table: ' . $ this ->tableMap ->getTable () . PHP_EOL .
49+ 'Database: ' . $ this ->tableMap ->getDatabase () . PHP_EOL .
50+ 'Table Id: ' . $ this ->tableMap ->getTableId () . PHP_EOL .
51+ 'Columns amount: ' . $ this ->tableMap ->getColumnsAmount () . PHP_EOL ;
8452 }
8553
8654 /**
8755 * @return string
8856 */
8957 public function getType ()
9058 {
91- return ConstEventsNames::TABLE_MAP ;
92- }
93-
94- /**
95- * @return string
96- */
97- public function __toString ()
98- {
99- return PHP_EOL .
100- '=== Event ' . $ this ->getType () . ' === ' . PHP_EOL .
101- 'Date: ' . $ this ->eventInfo ->getDateTime () . PHP_EOL .
102- 'Log position: ' . $ this ->eventInfo ->getPos () . PHP_EOL .
103- 'Event size: ' . $ this ->eventInfo ->getSize () . PHP_EOL .
104- 'Table: ' . $ this ->table . PHP_EOL .
105- 'Database: ' . $ this ->database . PHP_EOL .
106- 'Table Id: ' . $ this ->tableId . PHP_EOL .
107- 'Columns: ' . print_r ($ this ->columns , true ) . PHP_EOL ;
59+ return $ this ->type ;
10860 }
10961
11062 /**
@@ -118,4 +70,12 @@ public function jsonSerialize()
11870 {
11971 return get_object_vars ($ this );
12072 }
73+
74+ /**
75+ * @return TableMap
76+ */
77+ public function getTableMap ()
78+ {
79+ return $ this ->tableMap ;
80+ }
12181}
0 commit comments