aboutsummaryrefslogtreecommitdiffstats
path: root/includes/DomainEvent/DomainEvent.php
Commit message (Collapse)AuthorAgeFilesLines
* Domain Events: Make framework stable for 1.44 releasedaniel2025-04-031-1/+0
| | | | | | | | The domain events framework is ready for release in 1.44. The modeling of specific events is still experimental and should become stable in 1.45. Change-Id: Id53040c28ad559de4271f42f7403e39434f4ae0e
* DomainEvent: Fix return type of getTimestampdaniel2025-02-271-2/+7
| | | | | | | | | | | | Why: - getTimestamp was returning a ConvertibleTimestamp object, but the declared return type was string. What: - Change the return type of getTimestamp - improve documentation on several methods Change-Id: I168e5900e65d0914e420c248c784fbbb63128a31
* PageUpdatedEvent: improve modeling of flagsdaniel2025-02-201-1/+18
| | | | | | | | | | | | | | | | Why: - Improve consistency, naming, documentation and definition of flags. What: - remove direct access to flags, provide a separate getter for each flag instead. - Deprecate EDIT_SUPPRESS_RC in favor of EDIT_SILENT - Introduce EDIT_IMPLICIT to replace "automated" mode - Introduce FLAG_RECONCILIATION_REQUEST into PageEvent. - Introduce isReconciliationRequest into DomainEvent. Bug: T383552 Change-Id: I2bffbb5810376829f871e1840ca799a8d8232dda
* DomainEvent: Support type hierarchiesdaniel2025-01-211-6/+39
| | | | | | | | | | | | | | Why: - It's useful to be able to listen to sets of compatible event types. What: - Make DomainEvents aware of a list of types they are compatible with. - Make EventDispatchEngine dispatch to all compatible listeners, registered for any of the supported types. - Move all page events to their own namespace Bug: T384330 Change-Id: I96bde2cfaf198e409a6ef3a24101ee7d02d57959
* Remove trivial 1-line PHPDocs that just repeat the codethiemowmde2025-01-161-3/+0
| | | | | | | | | | | | | I assume these are all either auto-generated by an IDE or the language-level type declarations have been added later. In any case the comments don't add any new information to what the code already says. This is just extra clutter that makes the code harder to read, I would argue. There are many, many more comments like this. In this patch I intentionally focus on the most trivial 1-line comments. Change-Id: Ia294bf4ce0d8a77036842fe25884bc175c2b0e7d
* DomainEventDispatcher: rename conceptsdaniel2024-11-191-1/+1
| | | | | | | | | | This patch renames concepts to resolve ongoing confusion: * interface DomainEventSource -> DomainEventDispatcher * class DomainEventDispatcher -> DomainEventDispatchEngine Bug: T377229 Bug: T379959 Change-Id: Ie63ba3243b84c166c3132aaba343e1a6a7507b57
* Introduce DomainEventDispatcherdaniel2024-10-291-0/+60
This introduces infrastructure for emitting domain events. Domain events work similar to hooks, but use event object instead of a list of parameters, and they are not dispatched immediately but in a deferred update. To demonstrate the concept, this patch introduces PageChangeEvent along with the relevant wiring. This is used to simplify the logic in PageUpdater. This change deprecates PageUpdater::setUsePageCreationLog(). Bug: T377229 Change-Id: I48977ac0547bd7bd694397e0561dbb1ad1c9a42e