<?php
/**
 * core.framework
 *
 * @category   Core
 * @package    Core_Form
 * @copyright  Copyright (c) 2011. Burza d.o.o. (http://web.burza.hr/en/)
 * @license    proprietary
 */

/**
 * @category  Core
 * @package   Core_Form
 * @copyright Copyright (c) 2011. Burza d.o.o. (http://web.burza.hr/en/)
 * @license   proprietary
 */
interface Core_Form_Group_Interface extends Core_Form_Entity_Interface
{
    /**
     * @param array $data
     *
     * @return Core_Form_Group_Interface
     */
    public function populateRaw(array $data);

    /**
     * @param array $data
     *
     * @return Core_Form_Group_Interface
     */
    public function populate(array $data);

    /**
     * @return array
     */
    public function getRawValues();

    /**
     * @param bool $skipIgnored
     *
     * @return array
     */
    public function getValues($skipIgnored = true);

    /**
     * @return boolean
     */
    public function isValid();
    
    /**
     * @return boolean
     */
    public function isIgnored();
}
