DataFilterBase.php in Typed Data API enhancements 8
File
src/DataFilterBase.php
View source
<?php
namespace Drupal\typed_data;
use Drupal\Component\Plugin\PluginBase;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\TypedData\DataDefinitionInterface;
use Drupal\Core\TypedData\TypedDataTrait;
abstract class DataFilterBase extends PluginBase implements DataFilterInterface {
use TypedDataTrait;
use StringTranslationTrait;
protected $filterId;
protected $pluginDefinition;
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->filterId = $plugin_id;
$this->pluginDefinition = $plugin_definition;
}
public function getNumberOfRequiredArguments() {
return 0;
}
public function allowsNullValues() {
return FALSE;
}
public function suggestArgument(DataDefinitionInterface $definition, array $arguments, $input = '') {
return [];
}
public function validateArguments(DataDefinitionInterface $definition, array $arguments) {
$errors = [];
if (count($arguments) < $this
->getNumberOfRequiredArguments()) {
$errors[] = $this
->t('Missing arguments for filter %filter_id', [
'%filter_id' => $this->filterId,
]);
}
return $errors;
}
}