From 2a0421bf35531e1eb495ce45509cf5663dfcda0e Mon Sep 17 00:00:00 2001 From: Vadym Hrechukha Date: Fri, 3 Jan 2025 12:54:31 +0200 Subject: [PATCH] HP-1751 added ability to check if PriceTypeDefinition has specific behaviour --- src/product/ParentNodeDefinitionInterface.php | 2 ++ src/product/PriceTypeDefinition.php | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/product/ParentNodeDefinitionInterface.php b/src/product/ParentNodeDefinitionInterface.php index 900afaf..ced0906 100644 --- a/src/product/ParentNodeDefinitionInterface.php +++ b/src/product/ParentNodeDefinitionInterface.php @@ -5,4 +5,6 @@ interface ParentNodeDefinitionInterface { public function withBehaviors(): BehaviorCollection; + + public function hasBehavior(string $behaviorClassName): bool; } \ No newline at end of file diff --git a/src/product/PriceTypeDefinition.php b/src/product/PriceTypeDefinition.php index 4fcd4db..061f528 100644 --- a/src/product/PriceTypeDefinition.php +++ b/src/product/PriceTypeDefinition.php @@ -123,6 +123,17 @@ public function withBehaviors(): PriceTypeDefinitionBehaviourCollection return $this->behaviorCollection; } + public function hasBehavior(string $behaviorClassName): bool + { + foreach ($this->behaviorCollection as $behavior) { + if ($behavior instanceof $behaviorClassName) { + return true; + } + } + + return false; + } + /** * це параметер визначає агрегатну функцію яка застосовується для щоденно записаних ресурсів щоб визнизначти * місячне споживання за яке потрібно пробілити клієнта