_entityPersister = $entityPersister; $this->_identifier = $identifier; } /** @private */ public function __load() { if (!$this->__isInitialized__ && $this->_entityPersister) { $this->__isInitialized__ = true; if (method_exists($this, "__wakeup")) { // call this after __isInitialized__to avoid infinite recursion // but before loading to emulate what ClassMetadata::newInstance() // provides. $this->__wakeup(); } if ($this->_entityPersister->load($this->_identifier, $this) === null) { throw new \Doctrine\ORM\EntityNotFoundException(); } unset($this->_entityPersister, $this->_identifier); } } /** @private */ public function __isInitialized() { return $this->__isInitialized__; } public function getId() { if ($this->__isInitialized__ === false) { return (int) $this->_identifier["id"]; } $this->__load(); return parent::getId(); } public function setOrderMasterId($orderMasterId) { $this->__load(); return parent::setOrderMasterId($orderMasterId); } public function getOrderMasterId() { $this->__load(); return parent::getOrderMasterId(); } public function getOrderMasterName(\Alchemy\Phrasea\Application $app) { $this->__load(); return parent::getOrderMasterName($app); } public function setDeny($deny) { $this->__load(); return parent::setDeny($deny); } public function getDeny() { $this->__load(); return parent::getDeny(); } public function setOrder(\Alchemy\Phrasea\Model\Entities\Order $order = NULL) { $this->__load(); return parent::setOrder($order); } public function getOrder() { $this->__load(); return parent::getOrder(); } public function setBaseId($baseId) { $this->__load(); return parent::setBaseId($baseId); } public function getBaseId() { $this->__load(); return parent::getBaseId(); } public function setRecordId($recordId) { $this->__load(); return parent::setRecordId($recordId); } public function getRecordId() { $this->__load(); return parent::getRecordId(); } public function getRecord(\Alchemy\Phrasea\Application $app) { $this->__load(); return parent::getRecord($app); } public function getSbasId(\Alchemy\Phrasea\Application $app) { $this->__load(); return parent::getSbasId($app); } public function __sleep() { return array('__isInitialized__', 'id', 'baseId', 'recordId', 'orderMasterId', 'deny', 'order'); } public function __clone() { if (!$this->__isInitialized__ && $this->_entityPersister) { $this->__isInitialized__ = true; $class = $this->_entityPersister->getClassMetadata(); $original = $this->_entityPersister->load($this->_identifier); if ($original === null) { throw new \Doctrine\ORM\EntityNotFoundException(); } foreach ($class->reflFields as $field => $reflProperty) { $reflProperty->setValue($this, $reflProperty->getValue($original)); } unset($this->_entityPersister, $this->_identifier); } } }