InterpretationMediator.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\View\Element\Message;
  7. use Magento\Framework\Message\MessageInterface;
  8. class InterpretationMediator implements InterpretationStrategyInterface
  9. {
  10. /**
  11. * @var InterpretationStrategy
  12. */
  13. private $interpretationStrategy;
  14. /**
  15. * @param InterpretationStrategy $interpretationStrategy
  16. */
  17. public function __construct(
  18. InterpretationStrategy $interpretationStrategy
  19. ) {
  20. $this->interpretationStrategy = $interpretationStrategy;
  21. }
  22. /**
  23. * Interpret message
  24. *
  25. * @param MessageInterface $message
  26. * @return string
  27. */
  28. public function interpret(MessageInterface $message)
  29. {
  30. if ($message->getIdentifier()) {
  31. try {
  32. return $this->interpretationStrategy->interpret($message);
  33. } catch (\LogicException $e) {
  34. // pass
  35. }
  36. }
  37. return $message->getText();
  38. }
  39. }