summaryrefslogtreecommitdiffstats
path: root/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 11:30:08 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 11:30:08 +0000
commit4ce65d59ca91871cfd126497158200a818720bce (patch)
treee277def01fc7eba7dbc21c4a4ae5576e8aa2cf1f /vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php
parentInitial commit. (diff)
downloadicinga-php-library-4ce65d59ca91871cfd126497158200a818720bce.tar.xz
icinga-php-library-4ce65d59ca91871cfd126497158200a818720bce.zip
Adding upstream version 0.13.1.upstream/0.13.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php')
-rw-r--r--vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php46
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;
+}