You are here

protected function ImageAPIOptimizeProcessorManager::doGetDefinition in Image Optimize (or ImageAPI Optimize) 4.x

Same name and namespace in other branches
  1. 8.3 src/ImageAPIOptimizeProcessorManager.php \Drupal\imageapi_optimize\ImageAPIOptimizeProcessorManager::doGetDefinition()
  2. 8.2 src/ImageAPIOptimizeProcessorManager.php \Drupal\imageapi_optimize\ImageAPIOptimizeProcessorManager::doGetDefinition()

Gets a specific plugin definition.

Parameters

array $definitions: An array of the available plugin definitions.

string $plugin_id: A plugin id.

bool $exception_on_invalid: If TRUE, an invalid plugin ID will cause an exception to be thrown; if FALSE, NULL will be returned.

Return value

array|null A plugin definition, or NULL if the plugin ID is invalid and $exception_on_invalid is TRUE.

Throws

\Drupal\imageapi_optimize\Exception\PluginNotFoundException Thrown if $plugin_id is invalid and $exception_on_invalid is TRUE.

Overrides DiscoveryTrait::doGetDefinition

File

src/ImageAPIOptimizeProcessorManager.php, line 59

Class

ImageAPIOptimizeProcessorManager
Manages image optimize processor plugins.

Namespace

Drupal\imageapi_optimize

Code

protected function doGetDefinition(array $definitions, $plugin_id, $exception_on_invalid) {

  // Avoid using a ternary that would create a copy of the array.
  if (isset($definitions[$plugin_id])) {
    return $definitions[$plugin_id];
  }
  elseif (!$exception_on_invalid) {
    return NULL;
  }
  throw new PluginNotFoundException($plugin_id, sprintf('The "%s" plugin does not exist.', $plugin_id));
}