LowerFilter.php in Typed Data API enhancements 8
Namespace
Drupal\typed_data\Plugin\TypedDataFilterFile
src/Plugin/TypedDataFilter/LowerFilter.phpView source
<?php
namespace Drupal\typed_data\Plugin\TypedDataFilter;
use Drupal\Core\Render\BubbleableMetadata;
use Drupal\Core\TypedData\DataDefinition;
use Drupal\Core\TypedData\DataDefinitionInterface;
use Drupal\Core\TypedData\Type\StringInterface;
use Drupal\typed_data\DataFilterBase;
/**
* A data filter lowering all string characters.
*
* @DataFilter(
* id = "lower",
* label = @Translation("Converts a string to lower case.")
* )
*/
class LowerFilter extends DataFilterBase {
/**
* {@inheritdoc}
*/
public function filter(DataDefinitionInterface $definition, $value, array $arguments, BubbleableMetadata $bubbleable_metadata = NULL) {
return mb_strtolower($value);
}
/**
* {@inheritdoc}
*/
public function canFilter(DataDefinitionInterface $definition) {
return is_subclass_of($definition
->getClass(), StringInterface::class);
}
/**
* {@inheritdoc}
*/
public function filtersTo(DataDefinitionInterface $definition, array $arguments) {
return DataDefinition::create('string');
}
}
Classes
Name | Description |
---|---|
LowerFilter | A data filter lowering all string characters. |