PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.35.1
MailPoet – Newsletters, Email Marketing, and Automation v5.35.1
5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor-prefixed / doctrine / orm / src / Mapping / Builder / ClassMetadataBuilder.php
mailpoet / vendor-prefixed / doctrine / orm / src / Mapping / Builder Last commit date
AssociationBuilder.php 9 months ago ClassMetadataBuilder.php 9 months ago EmbeddedBuilder.php 9 months ago EntityListenerBuilder.php 9 months ago FieldBuilder.php 9 months ago ManyToManyAssociationBuilder.php 9 months ago OneToManyAssociationBuilder.php 9 months ago index.php 9 months ago
ClassMetadataBuilder.php
186 lines
1 <?php
2 declare (strict_types=1);
3 namespace MailPoetVendor\Doctrine\ORM\Mapping\Builder;
4 if (!defined('ABSPATH')) exit;
5 use BackedEnum;
6 use MailPoetVendor\Doctrine\Deprecations\Deprecation;
7 use MailPoetVendor\Doctrine\ORM\Mapping\ClassMetadata;
8 use MailPoetVendor\Doctrine\ORM\Mapping\ClassMetadataInfo;
9 use function get_class;
10 class ClassMetadataBuilder
11 {
12 private $cm;
13 public function __construct(ClassMetadataInfo $cm)
14 {
15 if (!$cm instanceof ClassMetadata) {
16 Deprecation::trigger('doctrine/orm', 'https://github.com/doctrine/orm/pull/249', 'Passing an instance of %s to %s is deprecated, please pass a ClassMetadata instance instead.', get_class($cm), __METHOD__, ClassMetadata::class);
17 }
18 $this->cm = $cm;
19 }
20 public function getClassMetadata()
21 {
22 return $this->cm;
23 }
24 public function setMappedSuperClass()
25 {
26 $this->cm->isMappedSuperclass = \true;
27 $this->cm->isEmbeddedClass = \false;
28 return $this;
29 }
30 public function setEmbeddable()
31 {
32 $this->cm->isEmbeddedClass = \true;
33 $this->cm->isMappedSuperclass = \false;
34 return $this;
35 }
36 public function addEmbedded($fieldName, $class, $columnPrefix = null)
37 {
38 $this->cm->mapEmbedded(['fieldName' => $fieldName, 'class' => $class, 'columnPrefix' => $columnPrefix]);
39 return $this;
40 }
41 public function setCustomRepositoryClass($repositoryClassName)
42 {
43 $this->cm->setCustomRepositoryClass($repositoryClassName);
44 return $this;
45 }
46 public function setReadOnly()
47 {
48 $this->cm->markReadOnly();
49 return $this;
50 }
51 public function setTable($name)
52 {
53 $this->cm->setPrimaryTable(['name' => $name]);
54 return $this;
55 }
56 public function addIndex(array $columns, $name)
57 {
58 if (!isset($this->cm->table['indexes'])) {
59 $this->cm->table['indexes'] = [];
60 }
61 $this->cm->table['indexes'][$name] = ['columns' => $columns];
62 return $this;
63 }
64 public function addUniqueConstraint(array $columns, $name)
65 {
66 if (!isset($this->cm->table['uniqueConstraints'])) {
67 $this->cm->table['uniqueConstraints'] = [];
68 }
69 $this->cm->table['uniqueConstraints'][$name] = ['columns' => $columns];
70 return $this;
71 }
72 public function addNamedQuery($name, $dqlQuery)
73 {
74 $this->cm->addNamedQuery(['name' => $name, 'query' => $dqlQuery]);
75 return $this;
76 }
77 public function setJoinedTableInheritance()
78 {
79 $this->cm->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_JOINED);
80 return $this;
81 }
82 public function setSingleTableInheritance()
83 {
84 $this->cm->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_SINGLE_TABLE);
85 return $this;
86 }
87 public function setDiscriminatorColumn($name, $type = 'string', $length = 255, ?string $columnDefinition = null, ?string $enumType = null, array $options = [])
88 {
89 $this->cm->setDiscriminatorColumn(['name' => $name, 'type' => $type, 'length' => $length, 'columnDefinition' => $columnDefinition, 'enumType' => $enumType, 'options' => $options]);
90 return $this;
91 }
92 public function addDiscriminatorMapClass($name, $class)
93 {
94 $this->cm->addDiscriminatorMapClass($name, $class);
95 return $this;
96 }
97 public function setChangeTrackingPolicyDeferredExplicit()
98 {
99 $this->cm->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_DEFERRED_EXPLICIT);
100 return $this;
101 }
102 public function setChangeTrackingPolicyNotify()
103 {
104 $this->cm->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_NOTIFY);
105 return $this;
106 }
107 public function addLifecycleEvent($methodName, $event)
108 {
109 $this->cm->addLifecycleCallback($methodName, $event);
110 return $this;
111 }
112 public function addField($name, $type, array $mapping = [])
113 {
114 $mapping['fieldName'] = $name;
115 $mapping['type'] = $type;
116 $this->cm->mapField($mapping);
117 return $this;
118 }
119 public function createField($name, $type)
120 {
121 return new FieldBuilder($this, ['fieldName' => $name, 'type' => $type]);
122 }
123 public function createEmbedded($fieldName, $class)
124 {
125 return new EmbeddedBuilder($this, ['fieldName' => $fieldName, 'class' => $class, 'columnPrefix' => null]);
126 }
127 public function addManyToOne($name, $targetEntity, $inversedBy = null)
128 {
129 $builder = $this->createManyToOne($name, $targetEntity);
130 if ($inversedBy) {
131 $builder->inversedBy($inversedBy);
132 }
133 return $builder->build();
134 }
135 public function createManyToOne($name, $targetEntity)
136 {
137 return new AssociationBuilder($this, ['fieldName' => $name, 'targetEntity' => $targetEntity], ClassMetadata::MANY_TO_ONE);
138 }
139 public function createOneToOne($name, $targetEntity)
140 {
141 return new AssociationBuilder($this, ['fieldName' => $name, 'targetEntity' => $targetEntity], ClassMetadata::ONE_TO_ONE);
142 }
143 public function addInverseOneToOne($name, $targetEntity, $mappedBy)
144 {
145 $builder = $this->createOneToOne($name, $targetEntity);
146 $builder->mappedBy($mappedBy);
147 return $builder->build();
148 }
149 public function addOwningOneToOne($name, $targetEntity, $inversedBy = null)
150 {
151 $builder = $this->createOneToOne($name, $targetEntity);
152 if ($inversedBy) {
153 $builder->inversedBy($inversedBy);
154 }
155 return $builder->build();
156 }
157 public function createManyToMany($name, $targetEntity)
158 {
159 return new ManyToManyAssociationBuilder($this, ['fieldName' => $name, 'targetEntity' => $targetEntity], ClassMetadata::MANY_TO_MANY);
160 }
161 public function addOwningManyToMany($name, $targetEntity, $inversedBy = null)
162 {
163 $builder = $this->createManyToMany($name, $targetEntity);
164 if ($inversedBy) {
165 $builder->inversedBy($inversedBy);
166 }
167 return $builder->build();
168 }
169 public function addInverseManyToMany($name, $targetEntity, $mappedBy)
170 {
171 $builder = $this->createManyToMany($name, $targetEntity);
172 $builder->mappedBy($mappedBy);
173 return $builder->build();
174 }
175 public function createOneToMany($name, $targetEntity)
176 {
177 return new OneToManyAssociationBuilder($this, ['fieldName' => $name, 'targetEntity' => $targetEntity], ClassMetadata::ONE_TO_MANY);
178 }
179 public function addOneToMany($name, $targetEntity, $mappedBy)
180 {
181 $builder = $this->createOneToMany($name, $targetEntity);
182 $builder->mappedBy($mappedBy);
183 return $builder->build();
184 }
185 }
186