From bed518e8abd60875f4fe3d2b0e15fd87b489b6d4 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 3 Sep 2019 12:31:29 +0200 Subject: introduce GenericEntityEvent and adapt File entity Signed-off-by: Arthur Schiwon --- lib/public/WorkflowEngine/GenericEntityEvent.php | 67 ++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lib/public/WorkflowEngine/GenericEntityEvent.php (limited to 'lib/public/WorkflowEngine') diff --git a/lib/public/WorkflowEngine/GenericEntityEvent.php b/lib/public/WorkflowEngine/GenericEntityEvent.php new file mode 100644 index 00000000000..d72093573bf --- /dev/null +++ b/lib/public/WorkflowEngine/GenericEntityEvent.php @@ -0,0 +1,67 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCP\WorkflowEngine; + +class GenericEntityEvent implements IEntityEvent { + + /** @var string */ + private $displayName; + /** @var string */ + private $eventName; + + 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->getDisplayName(); + } + + /** + * 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->getEventName(); + } +} -- cgit v1.2.3