diff options
Diffstat (limited to 'lib/public/WorkflowEngine/GenericEntityEvent.php')
-rw-r--r-- | lib/public/WorkflowEngine/GenericEntityEvent.php | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/public/WorkflowEngine/GenericEntityEvent.php b/lib/public/WorkflowEngine/GenericEntityEvent.php new file mode 100644 index 00000000000..5c1c2a63244 --- /dev/null +++ b/lib/public/WorkflowEngine/GenericEntityEvent.php @@ -0,0 +1,61 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCP\WorkflowEngine; + +/** + * Class GenericEntityEvent + * + * + * @since 18.0.0 + */ +class GenericEntityEvent implements IEntityEvent { + /** @var string */ + private $displayName; + /** @var string */ + private $eventName; + + /** + * GenericEntityEvent constructor. + * + * @since 18.0.0 + */ + public function __construct(string $displayName, string $eventName) { + if (trim($displayName) === '') { + throw new \InvalidArgumentException('DisplayName must not be empty'); + } + if (trim($eventName) === '') { + throw new \InvalidArgumentException('EventName must not be empty'); + } + + $this->displayName = trim($displayName); + $this->eventName = trim($eventName); + } + + /** + * returns a translated name to be presented in the web interface. + * + * Example: "created" (en), "kreita" (eo) + * + * @since 18.0.0 + */ + public function getDisplayName(): string { + return $this->displayName; + } + + /** + * returns the event name that is emitted by the EventDispatcher, e.g.: + * + * Example: "OCA\MyApp\Factory\Cats::postCreated" + * + * @since 18.0.0 + */ + public function getEventName(): string { + return $this->eventName; + } +} |