diff options
Diffstat (limited to 'vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php')
-rw-r--r-- | vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php b/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php new file mode 100644 index 0000000..e0367ed --- /dev/null +++ b/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php @@ -0,0 +1,46 @@ +<?php + +declare(strict_types=1); + +namespace Cron; + +use DateTimeInterface; + +/** + * CRON field interface. + */ +interface FieldInterface +{ + /** + * Check if the respective value of a DateTime field satisfies a CRON exp. + * + * @internal + * @param DateTimeInterface $date DateTime object to check + * @param string $value CRON expression to test against + * + * @return bool Returns TRUE if satisfied, FALSE otherwise + */ + public function isSatisfiedBy(DateTimeInterface $date, $value, bool $invert): bool; + + /** + * 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. + * + * @internal + * @param DateTimeInterface $date DateTime object to change + * @param bool $invert (optional) Set to TRUE to decrement + * @param string|null $parts (optional) Set parts to use + * + * @return FieldInterface + */ + public function increment(DateTimeInterface &$date, $invert = false, $parts = null): FieldInterface; + + /** + * 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(string $value): bool; +} |