/** * @param string $entityId * * @return EntityDescriptor|null */ public function get($entityId) { if (null == $this->object) { $this->load(); } if ($this->object instanceof EntityDescriptor) { if ($this->object->getEntityID() == $entityId) { return $this->object; } else { return null; } } else { return $this->object->getByEntityId($entityId); } }
/** * @param EntityDescriptor|EntitiesDescriptor $entityDescriptor * * @return FixedEntityDescriptorStore * * @throws \InvalidArgumentException */ public function add($entityDescriptor) { if ($entityDescriptor instanceof EntityDescriptor) { if (false == $entityDescriptor->getEntityID()) { throw new \InvalidArgumentException('EntityDescriptor must have entityId set'); } $this->descriptors[$entityDescriptor->getEntityID()] = $entityDescriptor; } elseif ($entityDescriptor instanceof EntitiesDescriptor) { foreach ($entityDescriptor->getAllItems() as $item) { $this->add($item); } } else { throw new \InvalidArgumentException('Expected EntityDescriptor or EntitiesDescriptor'); } return $this; }