* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\CircuitBreaker\Exception; use PrestaShop\CircuitBreaker\Util\ErrorFormatter; final class InvalidTransactionException extends CircuitBreakerException { /** * @param mixed $service the service URI * @param mixed $failures the failures * @param mixed $state the Circuit Breaker * @param mixed $threshold the threshold */ public static function invalidParameters($service, $failures, $state, $threshold): self { $exceptionMessage = 'Invalid parameters for Transaction' . PHP_EOL . ErrorFormatter::format('service', $service, 'isURI', 'an URI') . ErrorFormatter::format('failures', $failures, 'isPositiveInteger', 'a positive integer') . ErrorFormatter::format('state', $state, 'isString', 'a string') . ErrorFormatter::format('threshold', $threshold, 'isPositiveInteger', 'a positive integer') ; return new self($exceptionMessage); } }