summaryrefslogtreecommitdiff
path: root/vendor/doctrine/persistence/src/Persistence/Event
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/doctrine/persistence/src/Persistence/Event')
-rw-r--r--vendor/doctrine/persistence/src/Persistence/Event/LifecycleEventArgs.php54
-rw-r--r--vendor/doctrine/persistence/src/Persistence/Event/LoadClassMetadataEventArgs.php61
-rw-r--r--vendor/doctrine/persistence/src/Persistence/Event/ManagerEventArgs.php39
-rw-r--r--vendor/doctrine/persistence/src/Persistence/Event/OnClearEventArgs.php42
-rw-r--r--vendor/doctrine/persistence/src/Persistence/Event/PreUpdateEventArgs.php110
5 files changed, 306 insertions, 0 deletions
diff --git a/vendor/doctrine/persistence/src/Persistence/Event/LifecycleEventArgs.php b/vendor/doctrine/persistence/src/Persistence/Event/LifecycleEventArgs.php
new file mode 100644
index 0000000..1654de4
--- /dev/null
+++ b/vendor/doctrine/persistence/src/Persistence/Event/LifecycleEventArgs.php
@@ -0,0 +1,54 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\Persistence\Event;
6
7use Doctrine\Common\EventArgs;
8use Doctrine\Persistence\ObjectManager;
9
10/**
11 * Lifecycle Events are triggered by the UnitOfWork during lifecycle transitions
12 * of entities.
13 *
14 * @template-covariant TObjectManager of ObjectManager
15 */
16class LifecycleEventArgs extends EventArgs
17{
18 /**
19 * @var ObjectManager
20 * @psalm-var TObjectManager
21 */
22 private $objectManager;
23
24 /** @var object */
25 private $object;
26
27 /** @psalm-param TObjectManager $objectManager */
28 public function __construct(object $object, ObjectManager $objectManager)
29 {
30 $this->object = $object;
31 $this->objectManager = $objectManager;
32 }
33
34 /**
35 * Retrieves the associated object.
36 *
37 * @return object
38 */
39 public function getObject()
40 {
41 return $this->object;
42 }
43
44 /**
45 * Retrieves the associated ObjectManager.
46 *
47 * @return ObjectManager
48 * @psalm-return TObjectManager
49 */
50 public function getObjectManager()
51 {
52 return $this->objectManager;
53 }
54}
diff --git a/vendor/doctrine/persistence/src/Persistence/Event/LoadClassMetadataEventArgs.php b/vendor/doctrine/persistence/src/Persistence/Event/LoadClassMetadataEventArgs.php
new file mode 100644
index 0000000..aa92d5d
--- /dev/null
+++ b/vendor/doctrine/persistence/src/Persistence/Event/LoadClassMetadataEventArgs.php
@@ -0,0 +1,61 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\Persistence\Event;
6
7use Doctrine\Common\EventArgs;
8use Doctrine\Persistence\Mapping\ClassMetadata;
9use Doctrine\Persistence\ObjectManager;
10
11/**
12 * Class that holds event arguments for a loadMetadata event.
13 *
14 * @template-covariant TClassMetadata of ClassMetadata<object>
15 * @template-covariant TObjectManager of ObjectManager
16 */
17class LoadClassMetadataEventArgs extends EventArgs
18{
19 /**
20 * @var ClassMetadata
21 * @psalm-var TClassMetadata
22 */
23 private $classMetadata;
24
25 /**
26 * @var ObjectManager
27 * @psalm-var TObjectManager
28 */
29 private $objectManager;
30
31 /**
32 * @psalm-param TClassMetadata $classMetadata
33 * @psalm-param TObjectManager $objectManager
34 */
35 public function __construct(ClassMetadata $classMetadata, ObjectManager $objectManager)
36 {
37 $this->classMetadata = $classMetadata;
38 $this->objectManager = $objectManager;
39 }
40
41 /**
42 * Retrieves the associated ClassMetadata.
43 *
44 * @return ClassMetadata
45 * @psalm-return TClassMetadata
46 */
47 public function getClassMetadata()
48 {
49 return $this->classMetadata;
50 }
51
52 /**
53 * Retrieves the associated ObjectManager.
54 *
55 * @return TObjectManager
56 */
57 public function getObjectManager()
58 {
59 return $this->objectManager;
60 }
61}
diff --git a/vendor/doctrine/persistence/src/Persistence/Event/ManagerEventArgs.php b/vendor/doctrine/persistence/src/Persistence/Event/ManagerEventArgs.php
new file mode 100644
index 0000000..5156013
--- /dev/null
+++ b/vendor/doctrine/persistence/src/Persistence/Event/ManagerEventArgs.php
@@ -0,0 +1,39 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\Persistence\Event;
6
7use Doctrine\Common\EventArgs;
8use Doctrine\Persistence\ObjectManager;
9
10/**
11 * Provides event arguments for the preFlush event.
12 *
13 * @template-covariant TObjectManager of ObjectManager
14 */
15class ManagerEventArgs extends EventArgs
16{
17 /**
18 * @var ObjectManager
19 * @psalm-var TObjectManager
20 */
21 private $objectManager;
22
23 /** @psalm-param TObjectManager $objectManager */
24 public function __construct(ObjectManager $objectManager)
25 {
26 $this->objectManager = $objectManager;
27 }
28
29 /**
30 * Retrieves the associated ObjectManager.
31 *
32 * @return ObjectManager
33 * @psalm-return TObjectManager
34 */
35 public function getObjectManager()
36 {
37 return $this->objectManager;
38 }
39}
diff --git a/vendor/doctrine/persistence/src/Persistence/Event/OnClearEventArgs.php b/vendor/doctrine/persistence/src/Persistence/Event/OnClearEventArgs.php
new file mode 100644
index 0000000..519a887
--- /dev/null
+++ b/vendor/doctrine/persistence/src/Persistence/Event/OnClearEventArgs.php
@@ -0,0 +1,42 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\Persistence\Event;
6
7use Doctrine\Common\EventArgs;
8use Doctrine\Persistence\ObjectManager;
9
10/**
11 * Provides event arguments for the onClear event.
12 *
13 * @template-covariant TObjectManager of ObjectManager
14 */
15class OnClearEventArgs extends EventArgs
16{
17 /**
18 * @var ObjectManager
19 * @psalm-var TObjectManager
20 */
21 private $objectManager;
22
23 /**
24 * @param ObjectManager $objectManager The object manager.
25 * @psalm-param TObjectManager $objectManager
26 */
27 public function __construct(ObjectManager $objectManager)
28 {
29 $this->objectManager = $objectManager;
30 }
31
32 /**
33 * Retrieves the associated ObjectManager.
34 *
35 * @return ObjectManager
36 * @psalm-return TObjectManager
37 */
38 public function getObjectManager()
39 {
40 return $this->objectManager;
41 }
42}
diff --git a/vendor/doctrine/persistence/src/Persistence/Event/PreUpdateEventArgs.php b/vendor/doctrine/persistence/src/Persistence/Event/PreUpdateEventArgs.php
new file mode 100644
index 0000000..95ecbd4
--- /dev/null
+++ b/vendor/doctrine/persistence/src/Persistence/Event/PreUpdateEventArgs.php
@@ -0,0 +1,110 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\Persistence\Event;
6
7use Doctrine\Persistence\ObjectManager;
8use InvalidArgumentException;
9
10use function get_class;
11use function sprintf;
12
13/**
14 * Class that holds event arguments for a preUpdate event.
15 *
16 * @template-covariant TObjectManager of ObjectManager
17 * @extends LifecycleEventArgs<TObjectManager>
18 */
19class PreUpdateEventArgs extends LifecycleEventArgs
20{
21 /** @var array<string, array<int, mixed>> */
22 private $entityChangeSet;
23
24 /**
25 * @param array<string, array<int, mixed>> $changeSet
26 * @psalm-param TObjectManager $objectManager
27 */
28 public function __construct(object $entity, ObjectManager $objectManager, array &$changeSet)
29 {
30 parent::__construct($entity, $objectManager);
31
32 $this->entityChangeSet = &$changeSet;
33 }
34
35 /**
36 * Retrieves the entity changeset.
37 *
38 * @return array<string, array<int, mixed>>
39 */
40 public function getEntityChangeSet()
41 {
42 return $this->entityChangeSet;
43 }
44
45 /**
46 * Checks if field has a changeset.
47 *
48 * @return bool
49 */
50 public function hasChangedField(string $field)
51 {
52 return isset($this->entityChangeSet[$field]);
53 }
54
55 /**
56 * Gets the old value of the changeset of the changed field.
57 *
58 * @return mixed
59 */
60 public function getOldValue(string $field)
61 {
62 $this->assertValidField($field);
63
64 return $this->entityChangeSet[$field][0];
65 }
66
67 /**
68 * Gets the new value of the changeset of the changed field.
69 *
70 * @return mixed
71 */
72 public function getNewValue(string $field)
73 {
74 $this->assertValidField($field);
75
76 return $this->entityChangeSet[$field][1];
77 }
78
79 /**
80 * Sets the new value of this field.
81 *
82 * @param mixed $value
83 *
84 * @return void
85 */
86 public function setNewValue(string $field, $value)
87 {
88 $this->assertValidField($field);
89
90 $this->entityChangeSet[$field][1] = $value;
91 }
92
93 /**
94 * Asserts the field exists in changeset.
95 *
96 * @return void
97 *
98 * @throws InvalidArgumentException
99 */
100 private function assertValidField(string $field)
101 {
102 if (! isset($this->entityChangeSet[$field])) {
103 throw new InvalidArgumentException(sprintf(
104 'Field "%s" is not a valid field of the entity "%s" in PreUpdateEventArgs.',
105 $field,
106 get_class($this->getObject())
107 ));
108 }
109 }
110}