Bolt\Storage\Field\Type\TemplateFieldsType::buildMetadata PHP Method

buildMetadata() protected method

protected buildMetadata ( $entity, $rawData = null )
    protected function buildMetadata($entity, $rawData = null)
    {
        $template = $this->chooser->record($entity, $rawData);
        $metadata = new ClassMetadata(get_class($entity));
        if (isset($this->mapping['config'][$template])) {
            $mappings = $this->em->getMapper()->loadMetadataForFields($this->mapping['config'][$template]['fields']);
            $metadata->setFieldMappings((array) $mappings);
        }
        return $metadata;
    }