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