1*37748cd8SNickeau<?php 2*37748cd8SNickeau 3*37748cd8SNickeaunamespace Cron; 4*37748cd8SNickeauuse DateTime; 5*37748cd8SNickeau 6*37748cd8SNickeau/** 7*37748cd8SNickeau * CRON field interface 8*37748cd8SNickeau */ 9*37748cd8SNickeauinterface FieldInterface 10*37748cd8SNickeau{ 11*37748cd8SNickeau /** 12*37748cd8SNickeau * Check if the respective value of a DateTime field satisfies a CRON exp 13*37748cd8SNickeau * 14*37748cd8SNickeau * @param DateTime $date DateTime object to check 15*37748cd8SNickeau * @param string $value CRON expression to test against 16*37748cd8SNickeau * 17*37748cd8SNickeau * @return bool Returns TRUE if satisfied, FALSE otherwise 18*37748cd8SNickeau */ 19*37748cd8SNickeau public function isSatisfiedBy(DateTime $date, $value); 20*37748cd8SNickeau 21*37748cd8SNickeau /** 22*37748cd8SNickeau * When a CRON expression is not satisfied, this method is used to increment 23*37748cd8SNickeau * or decrement a DateTime object by the unit of the cron field 24*37748cd8SNickeau * 25*37748cd8SNickeau * @param DateTime $date DateTime object to change 26*37748cd8SNickeau * @param bool $invert (optional) Set to TRUE to decrement 27*37748cd8SNickeau * 28*37748cd8SNickeau * @return FieldInterface 29*37748cd8SNickeau */ 30*37748cd8SNickeau public function increment(DateTime $date, $invert = false); 31*37748cd8SNickeau 32*37748cd8SNickeau /** 33*37748cd8SNickeau * Validates a CRON expression for a given field 34*37748cd8SNickeau * 35*37748cd8SNickeau * @param string $value CRON expression value to validate 36*37748cd8SNickeau * 37*37748cd8SNickeau * @return bool Returns TRUE if valid, FALSE otherwise 38*37748cd8SNickeau */ 39*37748cd8SNickeau public function validate($value); 40*37748cd8SNickeau} 41