geno/wp-content/plugins/cartflows/libraries/action-scheduler/lib/cron-expression/CronExpression_FieldInterface.php
2024-02-01 11:54:18 +00:00

39 lines
1.1 KiB
PHP

<?php
/**
* CRON field interface
*
* @author Michael Dowling <mtdowling@gmail.com>
*/
interface CronExpression_FieldInterface
{
/**
* Check if the respective value of a DateTime field satisfies a CRON exp
*
* @param DateTime $date DateTime object to check
* @param string $value CRON expression to test against
*
* @return bool Returns TRUE if satisfied, FALSE otherwise
*/
public function isSatisfiedBy(DateTime $date, $value);
/**
* When a CRON expression is not satisfied, this method is used to increment
* or decrement a DateTime object by the unit of the cron field
*
* @param DateTime $date DateTime object to change
* @param bool $invert (optional) Set to TRUE to decrement
*
* @return CronExpression_FieldInterface
*/
public function increment(DateTime $date, $invert = false);
/**
* Validates a CRON expression for a given field
*
* @param string $value CRON expression value to validate
*
* @return bool Returns TRUE if valid, FALSE otherwise
*/
public function validate($value);
}