1+ <?php
2+ /**
3+ * Created by PhpStorm.
4+ * User: fazi
5+ * Date: 25.08.2016
6+ * Time: 21:10
7+ */
8+
9+ namespace MySQLReplication \Event \DTO ;
10+
11+ use MySQLReplication \Definitions \ConstEventsNames ;
12+ use MySQLReplication \Event \EventInfo ;
13+
14+ /**
15+ * Class MariaGTIDLogDTO
16+ * @package MySQLReplication\Event\DTO
17+ */
18+ class MariaDbGtidLogDTO extends EventDTO
19+ {
20+ /**
21+ * @var string
22+ */
23+ private $ type = ConstEventsNames::MARIADB_GTID ;
24+ /**
25+ * @var int
26+ */
27+ private $ flag ;
28+ /**
29+ * @var int
30+ */
31+ private $ domainId ;
32+ /**
33+ * @var int
34+ */
35+ private $ sequenceNumber ;
36+
37+ public function __construct (
38+ EventInfo $ eventInfo ,
39+ $ flag ,
40+ $ domainId ,
41+ $ sequenceNumber
42+ ) {
43+ parent ::__construct ($ eventInfo );
44+
45+ $ this ->flag = $ flag ;
46+ $ this ->domainId = $ domainId ;
47+ $ this ->sequenceNumber = $ sequenceNumber ;
48+ }
49+
50+ /**
51+ * @return string
52+ */
53+ public function __toString ()
54+ {
55+ return PHP_EOL .
56+ '=== Event ' . $ this ->getType () . ' === ' . PHP_EOL .
57+ 'Date: ' . $ this ->eventInfo ->getDateTime () . PHP_EOL .
58+ 'Log position: ' . $ this ->eventInfo ->getPos () . PHP_EOL .
59+ 'Event size: ' . $ this ->eventInfo ->getSize () . PHP_EOL .
60+ 'Flag: ' . var_export ($ this ->flag , true ) . PHP_EOL .
61+ 'Domain Id: ' . $ this ->domainId . PHP_EOL .
62+ 'Sequence Number: ' . $ this ->sequenceNumber . PHP_EOL ;
63+ }
64+
65+ /**
66+ * @return string
67+ */
68+ public function getType ()
69+ {
70+ return $ this ->type ;
71+ }
72+
73+ /**
74+ * Specify data which should be serialized to JSON
75+ * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
76+ * @return mixed data which can be serialized by <b>json_encode</b>,
77+ * which is a value of any type other than a resource.
78+ * @since 5.4.0
79+ */
80+ public function jsonSerialize ()
81+ {
82+ return get_object_vars ($ this );
83+ }
84+
85+ /**
86+ * @return int
87+ */
88+ public function getFlag ()
89+ {
90+ return $ this ->flag ;
91+ }
92+
93+ /**
94+ * @return int
95+ */
96+ public function getSequenceNumber ()
97+ {
98+ return $ this ->sequenceNumber ;
99+ }
100+
101+ /**
102+ * @return int
103+ */
104+ public function getDomainId ()
105+ {
106+ return $ this ->domainId ;
107+ }
108+ }
0 commit comments