owner = $owner; $this->association_name = $association_name; $this->inversed_by = $inversed_by; $this->target_class = $this->owner->has_one($association_name); $this->snapshot = $this->owner->getComponent($this->association_name); $this->target = $this->snapshot; if(is_null($target_query)) $target_query = new QueryObject; $this->target_query = $target_query; UnitOfWork::getInstance()->loadMany2OneAssociation($this); } /** * @return string */ public function getName(){ return $this->association_name; } /** * @return DataObject */ public function getOwner(){ return $this->owner; } /** * @return array|string */ public function getTargetClass(){ return $this->target_class; } /** * @param DataObject $target */ public function setTarget(DataObject $target){ $this->target = $target; $this->dirty = true; } /** * @return DataObject */ public function getTarget(){ return $this->target; } /** * @return bool */ public function isDirty(){ return $this->dirty; } /** * @return bool */ public function isInverseSide(){ return !empty($this->inversed_by); } public function getInversedBy(){ return $this->inversed_by; } public function getTargetCriteria(){ return $this->target_query; } }