You are here

trait BackendTrait in Search API Solr 8.3

Same name in this branch
  1. 8.3 src/Controller/BackendTrait.php \Drupal\search_api_solr\Controller\BackendTrait
  2. 8.3 src/Plugin/search_api_autocomplete/suggester/BackendTrait.php \Drupal\search_api_solr\Plugin\search_api_autocomplete\suggester\BackendTrait
Same name and namespace in other branches
  1. 4.x src/Plugin/search_api_autocomplete/suggester/BackendTrait.php \Drupal\search_api_solr\Plugin\search_api_autocomplete\suggester\BackendTrait

Provides a helper method for loading the search backend.

Hierarchy

File

src/Plugin/search_api_autocomplete/suggester/BackendTrait.php, line 12

Namespace

Drupal\search_api_solr\Plugin\search_api_autocomplete\suggester
View source
trait BackendTrait {
  use LoggerTrait;

  /**
   * Retrieves the backend for the given index, if it supports autocomplete.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The search index.
   *
   * @return \Drupal\search_api_solr\SolrAutocompleteInterface|null
   *   The backend plugin of the index's server, if it exists and supports
   *   autocomplete; NULL otherwise.
   */
  protected static function getBackend(IndexInterface $index) {
    try {
      if (!$index
        ->hasValidServer()) {
        return NULL;
      }
      $server = $index
        ->getServerInstance();
      $backend = $server
        ->getBackend();
      if ($backend instanceof SolrAutocompleteInterface && $server
        ->supportsFeature('search_api_autocomplete')) {
        return $backend;
      }
    } catch (\Exception $e) {
      $this
        ->logException($e);
    }
    return NULL;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BackendTrait::getBackend protected static function Retrieves the backend for the given index, if it supports autocomplete.
LoggerTrait::$logger protected property The logging channel to use.
LoggerTrait::getLogger public function Retrieves the logger.
LoggerTrait::logException protected function Logs an exception.
LoggerTrait::setLogger public function Sets the logger.