/** * @param FieldMappingInterface $fieldMapping * @return Node[] */ public function getMetadataNodes(FieldMappingInterface $fieldMapping) { $items = array(); if (null !== ($nullable = $fieldMapping->isNullable())) { $items[] = new ArrayItem(new ConstFetch(new Name($nullable ? 'true' : 'false')), new String_('nullable')); } if (null !== ($unique = $fieldMapping->isUnique())) { $items[] = new ArrayItem(new ConstFetch(new Name($unique ? 'true' : 'false')), new String_('unique')); } if (null !== ($columnName = $fieldMapping->getColumnName())) { $items[] = new ArrayItem(new String_($columnName), new String_('columnName')); } if (null !== ($columnDefinition = $fieldMapping->getColumnDefinition())) { $items[] = new ArrayItem(new String_($columnDefinition), new String_('columnDefinition')); } if (null !== ($options = $fieldMapping->getOptions())) { $items[] = new ArrayItem($this->covertArrayToNodes($options), new String_('options')); } $items = $this->addOtherMetadataArrayItems($fieldMapping, $items); if (count($items) > 0) { return array(new MethodCall(new Variable('builder'), 'addField', array(new Arg(new String_($fieldMapping->getName())), new Arg(new String_($this->getName())), new Arg(new Array_($items))))); } return array(new MethodCall(new Variable('builder'), 'addField', array(new Arg(new String_($fieldMapping->getName())), new Arg(new String_($this->getName()))))); }