/** * Sets a value for the supplied property * * @param IProperty $Property The property to set the value for * @param mixed $Data The value to set for the property * @throws InvalidPropertyException */ public final function SetProperty(IProperty $Property, $Data) { $Identifier = $Property->GetIdentifier(); if (!isset($this->Properties[$Identifier])) { throw new InvalidPropertyException('The supplied property of entity %s is not part of this %s.', $Property->HasEntityMap() ? $Property->GetEntityMap()->GetEntityType() : 'null', get_class($this)); } $this->VerifyProperty($Property, $Identifier); $this->PropertyData[$Identifier] = $Data; }