<?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_Element_Interface extends Core_Form_Entity_Interface
{
    /**
     * @return mixed
     */
    public function getRawValue();

    /**
     * @return mixed
     */
    public function getValue();

    /**
     * @param mixed $rawValue
     *
     * @return \Core_Form_Element_Interface
     */
    public function setRawValue($rawValue);

    /**
     * @param mixed $value
     *
     * @return \Core_Form_Element_Interface
     */
    public function setValue($value);

    /**
     * @return boolean
     */
    public function isValid();
    
    /**
     * @return string
     */
    public function getError();

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