/** * Updates the meta information of the attribute. * * This tells the attribute to perform any actions that must be done to correctly initialize the new value * and to perform any action to undo the changes that had been done for the previous value. * i.e.: when an attribute type needs columns in an an auxiliary table, these will have to be updated herein. * * This method may throw an exception, when the new value is invalid or any problems appear, the MetaModelAttribute * will then keep the old meta value. * * @param string $strMetaName Name of the meta information that shall be updated. * * @param mixed $varNewValue The new value for this meta information. * * @return \MetaModels\Attribute\IAttribute The instance of this attribute, to support chaining. */ public function handleMetaChange($strMetaName, $varNewValue) { // By default we accept any change of meta information. if ($strMetaName == 'colname') { if ($this->get($strMetaName) != $varNewValue) { $this->renameColumn($varNewValue); } return $this; } return parent::handleMetaChange($strMetaName, $varNewValue); }