/** * Nota: uma e somente uma secao do mesmo tipo eh aceita * * @param TableSectionAbstract $section * */ public function __set($name, $value) { ElementException::throwsExceptionIfParamIsNull($value instanceof TableSectionAbstract, 'Elemento não suportado'); $attr = "_{$name}"; if (property_exists($this, $attr)) { $method = NULL == $this->{$attr} ? 'add' : 'replaceChild'; $this->{$attr} = $value; $this->{$method}($this->{$attr}); } }
/** * @param HAbstract $hElm * */ public function add($component) { ElementException::throwsExceptionIfParamIsNull($component instanceof HAbstract, 'apenas objetos HAbstract são aceitos'); return parent::add($component); }