Mercurial > hg > isophonics-drupal-site
diff core/modules/migrate/src/Exception/RequirementsException.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/migrate/src/Exception/RequirementsException.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,69 @@ +<?php + +namespace Drupal\migrate\Exception; + +use Exception; + +/** + * Defines an + * + * @see \Drupal\migrate\Plugin\RequirementsInterface + */ +class RequirementsException extends \RuntimeException { + + /** + * The missing requirements. + * + * @var array + */ + protected $requirements; + + /** + * Constructs a new RequirementsException instance. + * + * @param string $message + * (optional) The Exception message to throw. + * @param array $requirements + * (optional) The missing requirements. + * @param int $code + * (optional) The Exception code. + * @param \Exception $previous + * (optional) The previous exception used for the exception chaining. + */ + public function __construct($message = "", array $requirements = [], $code = 0, Exception $previous = NULL) { + parent::__construct($message, $code, $previous); + + $this->requirements = $requirements; + } + + /** + * Get an array of requirements. + * + * @return array + * The requirements. + */ + public function getRequirements() { + return $this->requirements; + } + + /** + * Get the requirements as a string. + * + * @return string + * A formatted requirements string. + */ + public function getRequirementsString() { + $output = ''; + foreach ($this->requirements as $requirement_type => $requirements) { + if (!is_array($requirements)) { + $requirements = [$requirements]; + } + + foreach ($requirements as $value) { + $output .= "$requirement_type: $value. "; + } + } + return trim($output); + } + +}