diff options
author | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
commit | bf6655a534a6775d30cafa67bd801276bda1d98d (patch) | |
tree | c6381e3f6c81c33eab72508f410b165ba05f7e9c /vendor/doctrine/persistence/src/Persistence/Event | |
parent | 94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff) | |
download | AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip |
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'vendor/doctrine/persistence/src/Persistence/Event')
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 | |||
3 | declare(strict_types=1); | ||
4 | |||
5 | namespace Doctrine\Persistence\Event; | ||
6 | |||
7 | use Doctrine\Common\EventArgs; | ||
8 | use 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 | */ | ||
16 | class 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 | |||
3 | declare(strict_types=1); | ||
4 | |||
5 | namespace Doctrine\Persistence\Event; | ||
6 | |||
7 | use Doctrine\Common\EventArgs; | ||
8 | use Doctrine\Persistence\Mapping\ClassMetadata; | ||
9 | use 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 | */ | ||
17 | class 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 | |||
3 | declare(strict_types=1); | ||
4 | |||
5 | namespace Doctrine\Persistence\Event; | ||
6 | |||
7 | use Doctrine\Common\EventArgs; | ||
8 | use Doctrine\Persistence\ObjectManager; | ||
9 | |||
10 | /** | ||
11 | * Provides event arguments for the preFlush event. | ||
12 | * | ||
13 | * @template-covariant TObjectManager of ObjectManager | ||
14 | */ | ||
15 | class 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 | |||
3 | declare(strict_types=1); | ||
4 | |||
5 | namespace Doctrine\Persistence\Event; | ||
6 | |||
7 | use Doctrine\Common\EventArgs; | ||
8 | use Doctrine\Persistence\ObjectManager; | ||
9 | |||
10 | /** | ||
11 | * Provides event arguments for the onClear event. | ||
12 | * | ||
13 | * @template-covariant TObjectManager of ObjectManager | ||
14 | */ | ||
15 | class 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 | |||
3 | declare(strict_types=1); | ||
4 | |||
5 | namespace Doctrine\Persistence\Event; | ||
6 | |||
7 | use Doctrine\Persistence\ObjectManager; | ||
8 | use InvalidArgumentException; | ||
9 | |||
10 | use function get_class; | ||
11 | use 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 | */ | ||
19 | class 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 | } | ||