コード例 #1
0
	/**
	 * <p>Liefert ein gespeichertes Entity zurück.</p>
	 * <p>Wurde ein Entity übergeben und es war noch kein Entity gespeichert,
	 * so wird dieses Entity gespeichert und zurückgegeben.</p>
	 * @param Dkplus_Model_Domain_Entity_IEntity|string|int $soiEntity
	 * @return Dkplus_Model_Domain_Entity_IEntity|null <p>Wurde kein Entity
	 * gefunden, so wird null zurückgegeben.</p>
	 */
	public function getEntity($soiEntity)
	{
		//Ein Entity-Objekt wurde übergeben
		if ($soiEntity instanceOf Dkplus_Model_Domain_Entity_IEntity) {
			$siEntity = $soiEntity->getUniqueIdentifier();
			if (!isset($this->_aEntities[$siEntity])) {
				$this->_aEntities[$siEntity] = $soiEntity;
			}
			return $this->_aEntities[$siEntity];
		}

		if ((is_int($soiEntity))
			|| (is_string($soiEntity))
		) {
			return isset($this->_aEntities[$soiEntity])
				? $this->_aEntities[$soiEntity]
				: null;
		}

		throw new Dkplus_Model_Exception(
				sprintf('First Parameter has an invalid type "%s", must be an '
						. 'Dkplus_Model_Domain_Entity_IEntity, integer or string.',
    				getType($iOffset)));
	}