1 | <?php |
||
34 | class LifecycleEventManager |
||
35 | { |
||
36 | /** |
||
37 | * @var DocumentManager |
||
38 | */ |
||
39 | private $dm; |
||
40 | |||
41 | /** |
||
42 | * @var EventManager |
||
43 | */ |
||
44 | private $evm; |
||
45 | |||
46 | /** |
||
47 | * @var UnitOfWork |
||
48 | */ |
||
49 | private $uow; |
||
50 | |||
51 | /** |
||
52 | * @param DocumentManager $dm |
||
53 | * @param UnitOfWork $uow |
||
54 | * @param EventManager $evm |
||
55 | */ |
||
56 | 931 | public function __construct(DocumentManager $dm, UnitOfWork $uow, EventManager $evm) |
|
62 | |||
63 | /** |
||
64 | * Invokes postPersist callbacks and events for given document cascading them to embedded documents as well. |
||
65 | * |
||
66 | * @param ClassMetadata $class |
||
67 | * @param object $document |
||
68 | */ |
||
69 | 552 | public function postPersist(ClassMetadata $class, $document) |
|
75 | |||
76 | /** |
||
77 | * Invokes postRemove callbacks and events for given document. |
||
78 | * |
||
79 | * @param ClassMetadata $class |
||
80 | * @param object $document |
||
81 | */ |
||
82 | 10 | public function postRemove(ClassMetadata $class, $document) |
|
87 | |||
88 | /** |
||
89 | * Invokes postUpdate callbacks and events for given document. The same will be done for embedded documents owned |
||
90 | * by given document unless they were new in which case postPersist callbacks and events will be dispatched. |
||
91 | * |
||
92 | * @param ClassMetadata $class |
||
93 | * @param object $document |
||
94 | */ |
||
95 | public function postUpdate(ClassMetadata $class, $document) |
||
101 | |||
102 | /** |
||
103 | * Invokes prePersist callbacks and events for given document. |
||
104 | * |
||
105 | * @param ClassMetadata $class |
||
106 | * @param object $document |
||
107 | */ |
||
108 | 576 | public function prePersist(ClassMetadata $class, $document) |
|
113 | |||
114 | /** |
||
115 | * Invokes prePersist callbacks and events for given document. |
||
116 | * |
||
117 | * @param ClassMetadata $class |
||
118 | * @param object $document |
||
119 | */ |
||
120 | 48 | public function preRemove(ClassMetadata $class, $document) |
|
125 | |||
126 | /** |
||
127 | * Invokes preUpdate callbacks and events for given document cascading them to embedded documents as well. |
||
128 | * |
||
129 | * @param ClassMetadata $class |
||
130 | * @param object $document |
||
131 | */ |
||
132 | 218 | public function preUpdate(ClassMetadata $class, $document) |
|
143 | |||
144 | /** |
||
145 | * Cascades the preUpdate event to embedded documents. |
||
146 | * |
||
147 | * @param ClassMetadata $class |
||
148 | * @param object $document |
||
149 | */ |
||
150 | private function cascadePreUpdate(ClassMetadata $class, $document) |
||
167 | |||
168 | /** |
||
169 | * Cascades the postUpdate and postPersist events to embedded documents. |
||
170 | * |
||
171 | * @param ClassMetadata $class |
||
172 | * @param object $document |
||
173 | */ |
||
174 | private function cascadePostUpdate(ClassMetadata $class, $document) |
||
196 | |||
197 | /** |
||
198 | * Cascades the postPersist events to embedded documents. |
||
199 | * |
||
200 | * @param ClassMetadata $class |
||
201 | * @param object $document |
||
202 | */ |
||
203 | 552 | private function cascadePostPersist(ClassMetadata $class, $document) |
|
216 | } |
||
217 |