Guest User

Untitled

a guest
Oct 19th, 2017
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 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.  
  12. $nextAnnotation = false;
  13.  
  14. foreach (self::$documentAnnotationClasses as $i => $annotClass) {
  15. if ($annot instanceof $annotClass) {
  16. $documentAnnots[$i] = $annot;
  17.  
  18. $nextAnnotation = true;
  19. break;
  20. // goto next_annotation;
  21. }
  22. }
  23.  
  24. if($nextAnnotation == false) {
  25.  
  26. // non-document class annotations
  27. if ($annot instanceof ODM\AbstractIndex) {
  28. $this->addIndex($class, $annot);
  29. }
  30. if ($annot instanceof ODM\Indexes) {
  31. foreach (is_array($annot->value) ? $annot->value : array($annot->value) as $index) {
  32. $this->addIndex($class, $index);
  33. }
  34. } elseif ($annot instanceof ODM\InheritanceType) {
  35. $class->setInheritanceType(constant('Doctrine\\ODM\\MongoDB\\Mapping\\ClassMetadata::INHERITANCE_TYPE_'.$annot->value));
  36. } elseif ($annot instanceof ODM\DiscriminatorField) {
  37. $class->setDiscriminatorField(array('fieldName' => $annot->fieldName));
  38. } elseif ($annot instanceof ODM\DiscriminatorMap) {
  39. $class->setDiscriminatorMap($annot->value);
  40. } elseif ($annot instanceof ODM\DiscriminatorValue) {
  41. $class->setDiscriminatorValue($annot->value);
  42. } elseif ($annot instanceof ODM\ChangeTrackingPolicy) {
  43. $class->setChangeTrackingPolicy(constant('Doctrine\\ODM\\MongoDB\\Mapping\\ClassMetadata::CHANGETRACKING_'.$annot->value));
  44. }
  45.  
  46. }
  47.  
  48. // next_annotation:
  49. }
Add Comment
Please, Sign In to add comment