Doctrine\OXM\Marshaller\XmlMarshaller::writeElement PHP Method

writeElement() private method

private writeElement ( WriterHelper $writer, ClassMetadata $classMetadata, string $fieldName, mixed $fieldValue )
$writer Doctrine\OXM\Marshaller\Helper\WriterHelper
$classMetadata Doctrine\OXM\Mapping\ClassMetadata
$fieldName string
$fieldValue mixed
    private function writeElement(WriterHelper $writer, ClassMetadata $classMetadata, $fieldName, $fieldValue)
    {
        $fieldType = $classMetadata->getTypeOfField($fieldName);
        $mapping = $classMetadata->getFieldMapping($fieldName);
        $prefix = isset($mapping['prefix']) ? $mapping['prefix'] : null;
        if ($this->classMetadataFactory->hasMetadataFor($fieldType)) {
            if ($classMetadata->isCollection($fieldName)) {
                if ($classMetadata->hasFieldWrapping($fieldName)) {
                    $writer->startElement($mapping['wrapper'], $prefix);
                }
                foreach ($fieldValue as $value) {
                    $this->doMarshal($value, $writer);
                }
                if ($classMetadata->hasFieldWrapping($fieldName)) {
                    $writer->endElement();
                }
            } else {
                $this->doMarshal($fieldValue, $writer);
            }
        }
    }