+
+ // Add any custom property constraints, overwriting as required.
+ $item_constraints = $this->itemDefinition->getConstraint('ComplexData') ?: [];
+ foreach ($this->propertyConstraints as $name => $constraints) {
+ if (isset($item_constraints[$name])) {
+ $item_constraints[$name] = $constraints + $item_constraints[$name];
+ }
+ else {
+ $item_constraints[$name] = $constraints;
+ }
+ $this->itemDefinition->addConstraint('ComplexData', $item_constraints);
+ }