public function createProperty(ItemMetadata $property, StructureInterface $structure = null)
{
if ($property instanceof SectionMetadata) {
return $this->createSectionProperty($property, $structure);
}
if ($property instanceof BlockMetadata) {
return $this->createBlockProperty($property, $structure);
}
if (null === $property->getType()) {
throw new \RuntimeException(sprintf('Property name "%s" has no type.', $property->name));
}
$parameters = $this->convertArrayToParameters($property->getParameters());
$propertyBridge = new LegacyProperty($property->getName(), ['title' => $property->title, 'info_text' => $property->description, 'placeholder' => $property->placeholder], $property->getType(), $property->isRequired(), $property->isLocalized(), $property->getMaxOccurs(), $property->getMinOccurs(), $parameters, [], $property->getColspan());
foreach ($property->tags as $tag) {
$propertyBridge->addTag(new PropertyTag($tag['name'], $tag['priority'], $tag['attributes']));
}
$propertyBridge->setStructure($structure);
return $propertyBridge;
}