/** * @param FieldMappingInterface $fieldMapping * @return Node[] */ public function getMetadataNodes(FieldMappingInterface $fieldMapping) { if (!$fieldMapping instanceof One2OneOwningSideMapping) { throw new \InvalidArgumentException('Field mapping has to be One2OneOwningSideMapping!'); } if (null === $fieldMapping->getInversedBy()) { return array(new MethodCall(new Variable('builder'), 'addOwningOneToOne', array(new Arg(new String_($fieldMapping->getName())), new Arg(new String_($fieldMapping->getTargetModel()))))); } return array(new MethodCall(new Variable('builder'), 'addOwningOneToOne', array(new Arg(new String_($fieldMapping->getName())), new Arg(new String_($fieldMapping->getTargetModel())), new Arg(new String_($fieldMapping->getInversedBy()))))); }