* @author Jan Schneider * @category Horde * @license http://www.horde.org/licenses/apache ASL * @package Ingo */ /** * The Ingo_Script_Sieve_Test class represents a Sieve Test. * * A test is a piece of code that evaluates to true or false. * * @author Mike Cochrane * @author Jan Schneider * @category Horde * @license http://www.horde.org/licenses/apache ASL * @package Ingo */ abstract class Ingo_Script_Sieve_Test implements Ingo_Script_Item { /** * Any necessary test parameters. * * @var array */ protected $_vars = array(); /** * Checks if the rule parameters are valid. * * @return boolean|string True if this rule is valid, an error message * otherwise. */ abstract public function check(); /** * Returns a list of sieve extensions required for this rule and any * sub-rules. * * @return array A Sieve extension list. */ public function requires() { return array(); } }