public function getResult(ClassMetadata $classMetadata, array $options = []) { if ($annotation = $this->annotationQuery->getResult($classMetadata, array_merge($options, ['annotationClass' => $this->annotationClass]))) { return true; } if (!empty($options['strict'])) { return false; } return in_array($options['property'], $this->titleProperties); }
/** * @param ClassMetadata $classMetadata * @param array $options * @return bool * @throws \InvalidArgumentException */ public function getResult(ClassMetadata $classMetadata, array $options = []) { if (!isset($options['property'])) { throw new \InvalidArgumentException('The property option must be specified!'); } if (!$this->propertyAccessor->isReadable($classMetadata->newInstance(), $options['property'])) { return false; } if ($annotation = $this->annotationQuery->getResult($classMetadata, ['property' => $options['property'], 'annotationClass' => 'Sentient\\Data\\Metadata\\Annotation\\InvisibleProperty', 'checkSetter' => false])) { return false; } if ($annotation = $this->annotationQuery->getResult($classMetadata, ['property' => $options['property'], 'annotationClass' => 'Sentient\\Data\\Metadata\\Annotation\\CrudProperty', 'checkSetter' => false])) { if (!empty($options['important'])) { return !empty($annotation->important); } return !empty($annotation->visible); } return true; }