コード例 #1
0
 /**
  * @param EntitiesDescriptor|EntityDescriptor $item
  * @return $this|EntitiesDescriptor
  * @throws \InvalidArgumentException
  */
 public function addItem($item)
 {
     if (!$item instanceof EntitiesDescriptor && !$item instanceof EntityDescriptor) {
         throw new \InvalidArgumentException('Expected EntitiesDescriptor or EntityDescriptor');
     }
     if ($item === $this) {
         throw new \InvalidArgumentException('Circular reference detected');
     }
     if ($item instanceof EntitiesDescriptor) {
         if ($item->containsItem($this)) {
             throw new \InvalidArgumentException('Circular reference detected');
         }
     }
     $this->items[] = $item;
     return $this;
 }