class TestFieldsProcessorPlugin in Search API 8
Mimics a processor working on individual fields of items.
Generally just uses the parent implementations for all methods, but also allows temporary overriding of any method. Also implements process() to have an easily recognizable return value.
Used by \Drupal\Tests\search_api\Plugin\Processor\FieldsProcessorPluginBaseTest to test the functionality provided by \Drupal\search_api\Processor\FieldsProcessorPluginBase.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\search_api\Plugin\HideablePluginBase implements HideablePluginInterface
- class \Drupal\search_api\Plugin\ConfigurablePluginBase implements ConfigurablePluginInterface uses PluginDependencyTrait
- class \Drupal\search_api\Plugin\IndexPluginBase implements IndexPluginInterface
- class \Drupal\search_api\Processor\ProcessorPluginBase implements ProcessorInterface
- class \Drupal\search_api\Processor\FieldsProcessorPluginBase implements PluginFormInterface, TrustedCallbackInterface uses PluginFormTrait
- class \Drupal\Tests\search_api\Unit\Processor\TestFieldsProcessorPlugin
- class \Drupal\search_api\Processor\FieldsProcessorPluginBase implements PluginFormInterface, TrustedCallbackInterface uses PluginFormTrait
- class \Drupal\search_api\Processor\ProcessorPluginBase implements ProcessorInterface
- class \Drupal\search_api\Plugin\IndexPluginBase implements IndexPluginInterface
- class \Drupal\search_api\Plugin\ConfigurablePluginBase implements ConfigurablePluginInterface uses PluginDependencyTrait
- class \Drupal\search_api\Plugin\HideablePluginBase implements HideablePluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of TestFieldsProcessorPlugin
File
- tests/
src/ Unit/ Processor/ TestFieldsProcessorPlugin.php, line 22
Namespace
Drupal\Tests\search_api\Unit\ProcessorView source
class TestFieldsProcessorPlugin extends FieldsProcessorPluginBase {
/**
* Array of method overrides, keyed by method name.
*
* @var callable[]
*
* @see setMethodOverride()
*/
protected $methodOverrides = [];
/**
* Tokenizes the given string by splitting on space characters.
*
* @param string $value
* The value to be tokenized.
* @param float $score
* (optional) The score to set for all tokens.
*
* @return \Drupal\search_api\Plugin\search_api\data_type\value\TextValueInterface
* A text value object containing an array of tokens.
*/
public static function createTokenizedText($value, $score = 1.0) {
$return = new TextValue($value);
$tokens = [];
foreach (explode(' ', $value) as $word) {
$tokens[] = Utility::createTextToken($word, $score);
}
$return
->setTokens($tokens);
return $return;
}
/**
* Overrides a method in this processor.
*
* @param string $method
* The name of the method to override.
* @param callable|null $override
* The new code of the method, or NULL to use the default.
*/
public function setMethodOverride($method, callable $override = NULL) {
$this->methodOverrides[$method] = $override;
}
/**
* {@inheritdoc}
*/
protected function testField($name, FieldInterface $field) {
if (isset($this->methodOverrides[__FUNCTION__])) {
return $this->methodOverrides[__FUNCTION__]($name, $field);
}
return parent::testField($name, $field);
}
/**
* {@inheritdoc}
*/
protected function testType($type) {
if (isset($this->methodOverrides[__FUNCTION__])) {
return $this->methodOverrides[__FUNCTION__]($type);
}
return parent::testType($type);
}
/**
* {@inheritdoc}
*/
protected function processFieldValue(&$value, $type) {
if (isset($this->methodOverrides[__FUNCTION__])) {
$this->methodOverrides[__FUNCTION__]($value, $type);
return;
}
parent::processFieldValue($value, $type);
}
/**
* {@inheritdoc}
*/
protected function processKey(&$value) {
if (isset($this->methodOverrides[__FUNCTION__])) {
$this->methodOverrides[__FUNCTION__]($value);
return;
}
parent::processKey($value);
}
/**
* {@inheritdoc}
*/
protected function processConditionValue(&$value) {
if (isset($this->methodOverrides[__FUNCTION__])) {
$this->methodOverrides[__FUNCTION__]($value);
return;
}
parent::processConditionValue($value);
}
/**
* {@inheritdoc}
*/
protected function shouldProcess($value) : bool {
if (isset($this->methodOverrides[__FUNCTION__])) {
return $this->methodOverrides[__FUNCTION__]($value);
}
return parent::shouldProcess($value);
}
/**
* {@inheritdoc}
*/
protected function process(&$value) {
if (isset($this->methodOverrides[__FUNCTION__])) {
$this->methodOverrides[__FUNCTION__]($value);
return;
}
if ($value !== NULL) {
$value = "*{$value}";
}
else {
$value = 'undefined';
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigurablePluginBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
6 |
ConfigurablePluginBase:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. | |
ConfigurablePluginBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
ConfigurablePluginBase:: |
public | function |
Returns the plugin's description. Overrides ConfigurablePluginInterface:: |
|
ConfigurablePluginBase:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. | |
ConfigurablePluginBase:: |
public | function |
Returns the label for use on the administration pages. Overrides ConfigurablePluginInterface:: |
|
ConfigurablePluginBase:: |
protected | function | Wraps the module handler. | |
ConfigurablePluginBase:: |
public | function |
Informs the plugin that some of its dependencies are being removed. Overrides ConfigurablePluginInterface:: |
5 |
ConfigurablePluginBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
3 |
ConfigurablePluginBase:: |
protected | function | Wraps the theme handler. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. | |
FieldsProcessorPluginBase:: |
protected | property | The data type helper. | 1 |
FieldsProcessorPluginBase:: |
protected | property | The element info manager. | |
FieldsProcessorPluginBase:: |
public | function |
Form constructor. Overrides PluginFormInterface:: |
5 |
FieldsProcessorPluginBase:: |
public static | function |
Creates an instance of the plugin. Overrides ProcessorPluginBase:: |
1 |
FieldsProcessorPluginBase:: |
public | function |
Gets default configuration for this plugin. Overrides ConfigurablePluginBase:: |
5 |
FieldsProcessorPluginBase:: |
public | function | Retrieves the data type helper. | 1 |
FieldsProcessorPluginBase:: |
public | function | Retrieves the element info manager. | |
FieldsProcessorPluginBase:: |
public | function |
Preprocesses the search index entity before it is saved. Overrides ProcessorPluginBase:: |
|
FieldsProcessorPluginBase:: |
public | function |
Preprocesses search items for indexing. Overrides ProcessorPluginBase:: |
1 |
FieldsProcessorPluginBase:: |
public | function |
Preprocesses a search query. Overrides ProcessorPluginBase:: |
2 |
FieldsProcessorPluginBase:: |
public static | function | Preprocesses the "fields" checkboxes before rendering. | |
FieldsProcessorPluginBase:: |
protected | function | Preprocesses the query conditions. | |
FieldsProcessorPluginBase:: |
protected | function | Processes a single field's value. | 3 |
FieldsProcessorPluginBase:: |
protected | function | Preprocesses the search keywords. | |
FieldsProcessorPluginBase:: |
public | function | Sets the data type helper. | 1 |
FieldsProcessorPluginBase:: |
public | function | Sets the element info manager. | |
FieldsProcessorPluginBase:: |
public static | function |
Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface:: |
|
FieldsProcessorPluginBase:: |
public | function |
Form validation handler. Overrides PluginFormTrait:: |
4 |
IndexPluginBase:: |
protected | property | The index this processor is configured for. | |
IndexPluginBase:: |
public | function |
Retrieves the index this plugin is configured for. Overrides IndexPluginInterface:: |
|
IndexPluginBase:: |
public | function |
Sets the index this plugin is configured for. Overrides IndexPluginInterface:: |
|
IndexPluginBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides ConfigurablePluginBase:: |
2 |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginDependencyTrait:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. Aliased as: traitCalculatePluginDependencies | 1 |
PluginDependencyTrait:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. Aliased as: traitGetPluginDependencies | |
PluginDependencyTrait:: |
protected | function | Wraps the module handler. Aliased as: traitModuleHandler | 1 |
PluginDependencyTrait:: |
protected | function | Wraps the theme handler. Aliased as: traitThemeHandler | 1 |
PluginFormTrait:: |
public | function | Form submission handler. | 7 |
ProcessorInterface:: |
constant | Processing stage: add properties. | ||
ProcessorInterface:: |
constant | Processing stage: alter indexed items. | ||
ProcessorInterface:: |
constant | Processing stage: postprocess query. | ||
ProcessorInterface:: |
constant | Processing stage: preprocess index. | ||
ProcessorInterface:: |
constant | Processing stage: preprocess query. | ||
ProcessorInterface:: |
constant | Processing stage: preprocess index. | ||
ProcessorPluginBase:: |
protected | property | The fields helper. | 1 |
ProcessorPluginBase:: |
public | function |
Adds the values of properties defined by this processor to the item. Overrides ProcessorInterface:: |
8 |
ProcessorPluginBase:: |
public | function |
Alter the items to be indexed. Overrides ProcessorInterface:: |
3 |
ProcessorPluginBase:: |
protected | function | Ensures that a field with certain properties is indexed on the index. | |
ProcessorPluginBase:: |
protected | function | Finds a certain field in the index. | |
ProcessorPluginBase:: |
public | function | Retrieves the fields helper. | 1 |
ProcessorPluginBase:: |
public | function |
Retrieves the properties this processor defines for the given datasource. Overrides ProcessorInterface:: |
8 |
ProcessorPluginBase:: |
public | function |
Returns the weight for a specific processing stage. Overrides ProcessorInterface:: |
|
ProcessorPluginBase:: |
public | function |
Determines whether this plugin should be hidden in the UI. Overrides HideablePluginBase:: |
|
ProcessorPluginBase:: |
public | function |
Determines whether this processor should always be enabled. Overrides ProcessorInterface:: |
|
ProcessorPluginBase:: |
public | function |
Postprocess search results before they are returned by the query. Overrides ProcessorInterface:: |
2 |
ProcessorPluginBase:: |
public | function |
Determines whether re-indexing is required after a settings change. Overrides ProcessorInterface:: |
|
ProcessorPluginBase:: |
public | function | Sets the fields helper. | 1 |
ProcessorPluginBase:: |
public | function |
Sets the weight for a specific processing stage. Overrides ProcessorInterface:: |
|
ProcessorPluginBase:: |
public static | function |
Checks whether this processor is applicable for a certain index. Overrides ProcessorInterface:: |
8 |
ProcessorPluginBase:: |
public | function |
Checks whether this processor implements a particular stage. Overrides ProcessorInterface:: |
2 |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TestFieldsProcessorPlugin:: |
protected | property | Array of method overrides, keyed by method name. | |
TestFieldsProcessorPlugin:: |
public static | function | Tokenizes the given string by splitting on space characters. | |
TestFieldsProcessorPlugin:: |
protected | function |
Processes a single string value. Overrides FieldsProcessorPluginBase:: |
|
TestFieldsProcessorPlugin:: |
protected | function |
Processes a single condition value. Overrides FieldsProcessorPluginBase:: |
|
TestFieldsProcessorPlugin:: |
protected | function |
Processes a single text element in a field. Overrides FieldsProcessorPluginBase:: |
|
TestFieldsProcessorPlugin:: |
protected | function |
Processes a single search keyword. Overrides FieldsProcessorPluginBase:: |
|
TestFieldsProcessorPlugin:: |
public | function | Overrides a method in this processor. | |
TestFieldsProcessorPlugin:: |
protected | function |
Determines whether a single value (not an array) should be processed. Overrides FieldsProcessorPluginBase:: |
|
TestFieldsProcessorPlugin:: |
protected | function |
Tests whether a certain field should be processed. Overrides FieldsProcessorPluginBase:: |
|
TestFieldsProcessorPlugin:: |
protected | function |
Determines whether a field of a certain type should be preprocessed. Overrides FieldsProcessorPluginBase:: |
|
TrustedCallbackInterface:: |
constant | Untrusted callbacks throw exceptions. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger E_USER_WARNING errors. |