You are here

interface PluginHelperInterface in Search API 8

Provides an interface for the plugin helper service.

Hierarchy

Expanded class hierarchy of PluginHelperInterface

All classes that implement PluginHelperInterface

2 files declare their use of PluginHelperInterface
AggregatedFieldsTest.php in tests/src/Unit/Processor/AggregatedFieldsTest.php
IndexForm.php in src/Form/IndexForm.php

File

src/Utility/PluginHelperInterface.php, line 10

Namespace

Drupal\search_api\Utility
View source
interface PluginHelperInterface {

  /**
   * Creates a datasource plugin object for this index.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The index for which to create the plugin.
   * @param string $plugin_id
   *   The plugin's ID.
   * @param array $configuration
   *   (optional) The configuration to set for the plugin.
   *
   * @return \Drupal\search_api\Datasource\DatasourceInterface
   *   The new datasource plugin object.
   *
   * @throws \Drupal\search_api\SearchApiException
   *   Thrown if an unknown $type or $plugin_id is given.
   */
  public function createDatasourcePlugin(IndexInterface $index, $plugin_id, array $configuration = []);

  /**
   * Creates a processor plugin object for this index.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The index for which to create the plugin.
   * @param string $plugin_id
   *   The plugin's ID.
   * @param array $configuration
   *   (optional) The configuration to set for the plugin.
   *
   * @return \Drupal\search_api\processor\ProcessorInterface
   *   The new processor plugin object.
   *
   * @throws \Drupal\search_api\SearchApiException
   *   Thrown if an unknown $type or $plugin_id is given.
   */
  public function createProcessorPlugin(IndexInterface $index, $plugin_id, array $configuration = []);

  /**
   * Creates a processor plugin object for this index.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The index for which to create the plugin.
   * @param string $plugin_id
   *   The plugin's ID.
   * @param array $configuration
   *   (optional) The configuration to set for the plugin.
   *
   * @return \Drupal\search_api\tracker\TrackerInterface
   *   The new tracker plugin object.
   *
   * @throws \Drupal\search_api\SearchApiException
   *   Thrown if an unknown $type or $plugin_id is given.
   */
  public function createTrackerPlugin(IndexInterface $index, $plugin_id, array $configuration = []);

  /**
   * Creates multiple datasource plugin objects for this index.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The index for which to create the plugins.
   * @param string[]|null $plugin_ids
   *   (optional) The IDs of the plugins to create, or NULL to create instances
   *   for all known plugins of this type.
   * @param array $configurations
   *   (optional) The configurations to set for the plugins, keyed by plugin ID.
   *   Missing configurations are either taken from the index's stored settings,
   *   if they are present there, or default to an empty array.
   *
   * @return \Drupal\search_api\Datasource\DatasourceInterface[]
   *   The created datasource plugin objects.
   *
   * @throws \Drupal\search_api\SearchApiException
   *   Thrown if an unknown plugin ID is given.
   */
  public function createDatasourcePlugins(IndexInterface $index, array $plugin_ids = NULL, array $configurations = []);

  /**
   * Creates multiple processor plugin objects for this index.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The index for which to create the plugins.
   * @param string[]|null $plugin_ids
   *   (optional) The IDs of the processors to create, or NULL to create
   *   instances for all known processors that support the given index.
   * @param array $configurations
   *   (optional) The configurations to set for the plugins, keyed by plugin ID.
   *   Missing configurations are either taken from the index's stored settings,
   *   if they are present there, or default to an empty array.
   *
   * @return \Drupal\search_api\processor\ProcessorInterface[]
   *   The created processor plugin objects.
   *
   * @throws \Drupal\search_api\SearchApiException
   *   Thrown if an unknown plugin ID is given.
   */
  public function createProcessorPlugins(IndexInterface $index, array $plugin_ids = NULL, array $configurations = []);

  /**
   * Creates multiple tracker plugin objects for this index.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The index for which to create the plugins.
   * @param string[]|null $plugin_ids
   *   (optional) The IDs of the plugins to create, or NULL to create instances
   *   for all known plugins of this type.
   * @param array $configurations
   *   (optional) The configurations to set for the plugins, keyed by plugin ID.
   *   Missing configurations are either taken from the index's stored settings,
   *   if they are present there, or default to an empty array.
   *
   * @return \Drupal\search_api\tracker\TrackerInterface[]
   *   The created tracker plugin objects.
   *
   * @throws \Drupal\search_api\SearchApiException
   *   Thrown if an unknown plugin ID is given.
   */
  public function createTrackerPlugins(IndexInterface $index, array $plugin_ids = NULL, array $configurations = []);

}

Members

Namesort descending Modifiers Type Description Overrides
PluginHelperInterface::createDatasourcePlugin public function Creates a datasource plugin object for this index. 1
PluginHelperInterface::createDatasourcePlugins public function Creates multiple datasource plugin objects for this index. 1
PluginHelperInterface::createProcessorPlugin public function Creates a processor plugin object for this index. 1
PluginHelperInterface::createProcessorPlugins public function Creates multiple processor plugin objects for this index. 1
PluginHelperInterface::createTrackerPlugin public function Creates a processor plugin object for this index. 1
PluginHelperInterface::createTrackerPlugins public function Creates multiple tracker plugin objects for this index. 1