<?php

/**
 * Goweb Sitemanager 5 Framework
 * 
 * @version    5.0.0
 * @category   Goweb
 * @package    Goweb_Db
 * @subpackage Model
 * @author     I&D <dev@goweb.pt>, Pedro Pinto <ppinto@goweb.pt>
 * @copyright  2009 (c) Goweb (http://www.goweb.pt)
 */

/**
 * Goweb_Db_Model_Col
 */
Goweb::loadClass('Goweb_Db_Model_Col');

/**
 * Classe para representar um campo do tipo Select
 *
 * @version    5.0.0
 * @category   Goweb
 * @package    Goweb_Db
 * @subpackage Model
 * @author     I&D <dev@goweb.pt>, Pedro Pinto <ppinto@goweb.pt>
 * @copyright  2009 (c) Goweb (http://www.goweb.pt)
 */
class Goweb_Db_Model_Col_Select extends Goweb_Db_Model_Col {

    /**
     * Constructor
     * 
     * Paremetros extra:
     *
     * <code>
     * model => (string) Nome do model externo
     * alias => (string) Nome para o rowset
     * </code>
     *
     * @param  array  $param  Paremetros do campo
     */    
    public function __construct($params) {
        $this->_params['type']     = 'Select';
        $this->_params['notnull']  = true;
        $this->_params['model']    = null;
        $this->_params['alias']    = null;
        $this->_params['size']     = null;
        $this->_params['multiple'] = false;
        $this->_params['order']    = null;
        
        parent::__construct($params);
        
        if (!isset($this->_params['model'])) {
            throw new Goweb_Exception('&Eacute; necess&aacute;rio o nome do Model para a coluna do tipo "Goweb_Db_Model_Col_Select".');
        }
    }
}