eca-1.0.x-dev/src/Event/TokenReceiverTrait.php
src/Event/TokenReceiverTrait.php
<?php
namespace Drupal\eca\Event;
use Drupal\eca\Plugin\DataType\DataTransferObject;
/**
* Trait to implement all required methods for the TokenReceiverInterface.
*/
trait TokenReceiverTrait {
/**
* List of token names to be kept.
*
* @var array
*/
protected array $tokenNames = [];
/**
* {@inheritdoc}
*/
public function addTokenNamesToReceive(array $token_names): TokenReceiverInterface {
$this->tokenNames = array_unique(array_merge($this->tokenNames, $token_names));
return $this;
}
/**
* {@inheritdoc}
*/
public function addTokenNamesFromString(string $token_names): TokenReceiverInterface {
$token_names_array = DataTransferObject::buildArrayFromUserInput($token_names);
return empty($token_names_array) ? $this : $this->addTokenNamesToReceive($token_names_array);
}
/**
* {@inheritdoc}
*/
public function getTokenNamesToReceive(): array {
return $this->tokenNames;
}
}
