Guest User

Untitled

a guest
Oct 19th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. <?php
  2. /**
  3. * {@inheritdoc}
  4. */
  5. public function loadMetadataForClass($className, ClassMetadataInfo $class)
  6. {
  7. $reflClass = $class->getReflectionClass();
  8.  
  9. $documentAnnots = array();
  10. foreach ($this->reader->getClassAnnotations($reflClass) as $annot) {
  11. foreach (self::$documentAnnotationClasses as $i => $annotClass) {
  12. if ($annot instanceof $annotClass) {
  13. $documentAnnots[$i] = $annot;
  14. goto next_annotation;
  15. }
  16. }
  17.  
  18. // non-document class annotations
  19. if ($annot instanceof ODM\AbstractIndex) {
  20. $this->addIndex($class, $annot);
  21. }
  22. if ($annot instanceof ODM\Indexes) {
  23. foreach (is_array($annot->value) ? $annot->value : array($annot->value) as $index) {
  24. $this->addIndex($class, $index);
  25. }
  26. } elseif ($annot instanceof ODM\InheritanceType) {
  27. $class->setInheritanceType(constant('Doctrine\\ODM\\MongoDB\\Mapping\\ClassMetadata::INHERITANCE_TYPE_'.$annot->value));
  28. } elseif ($annot instanceof ODM\DiscriminatorField) {
  29. $class->setDiscriminatorField(array('fieldName' => $annot->fieldName));
  30. } elseif ($annot instanceof ODM\DiscriminatorMap) {
  31. $class->setDiscriminatorMap($annot->value);
  32. } elseif ($annot instanceof ODM\DiscriminatorValue) {
  33. $class->setDiscriminatorValue($annot->value);
  34. } elseif ($annot instanceof ODM\ChangeTrackingPolicy) {
  35. $class->setChangeTrackingPolicy(constant('Doctrine\\ODM\\MongoDB\\Mapping\\ClassMetadata::CHANGETRACKING_'.$annot->value));
  36. }
  37.  
  38. next_annotation:
  39. }
Add Comment
Please, Sign In to add comment