/** * Returns case field-descriptor for given general metadata. * * @param GeneralPropertyMetadata $generalMetadata * @param CaseTypeMetadata $type * @param array $options * * @return DoctrineCaseFieldDescriptor */ private function getCaseFieldDescriptor(GeneralPropertyMetadata $generalMetadata, CaseTypeMetadata $type, $options) { $case1 = $type->getCase(0); $case2 = $type->getCase(1); return new DoctrineCaseFieldDescriptor($this->resolveOptions($generalMetadata->getName(), $options), new DoctrineDescriptor($case1->getEntityName(), $case1->getName(), $this->getDoctrineJoins($case1->getJoins(), $options)), new DoctrineDescriptor($case2->getEntityName(), $case2->getName(), $this->getDoctrineJoins($case2->getJoins(), $options)), $generalMetadata->getTranslation(), $this->isDisabled($generalMetadata), $this->isDefault($generalMetadata), $generalMetadata->getType(), $generalMetadata->getWidth(), $generalMetadata->getMinWidth(), $generalMetadata->isSortable(), $generalMetadata->isEditable(), $generalMetadata->getCssClass()); }