abstract class TaxNumberTypeWithVerificationBase in Commerce Core 8.2
Provides the base class for tax number types which support verification.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\commerce_tax\Plugin\Commerce\TaxNumberType\TaxNumberTypeBase implements TaxNumberTypeInterface
- class \Drupal\commerce_tax\Plugin\Commerce\TaxNumberType\TaxNumberTypeWithVerificationBase implements SupportsVerificationInterface, ContainerFactoryPluginInterface
- class \Drupal\commerce_tax\Plugin\Commerce\TaxNumberType\TaxNumberTypeBase implements TaxNumberTypeInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of TaxNumberTypeWithVerificationBase
1 file declares its use of TaxNumberTypeWithVerificationBase
- SerbianVat.php in modules/
tax/ tests/ modules/ commerce_tax_test/ src/ Plugin/ Commerce/ TaxNumberType/ SerbianVat.php
File
- modules/
tax/ src/ Plugin/ Commerce/ TaxNumberType/ TaxNumberTypeWithVerificationBase.php, line 13
Namespace
Drupal\commerce_tax\Plugin\Commerce\TaxNumberTypeView source
abstract class TaxNumberTypeWithVerificationBase extends TaxNumberTypeBase implements ContainerFactoryPluginInterface, SupportsVerificationInterface {
/**
* The memory cache.
*
* @var \Drupal\Core\Cache\MemoryCache\MemoryCacheInterface
*/
protected $memoryCache;
/**
* The time.
*
* @var \Drupal\Component\Datetime\TimeInterface
*/
protected $time;
/**
* Constructs a new TaxNumberTypeWithVerificationBase object.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Cache\MemoryCache\MemoryCacheInterface $memory_cache
* The memory cache.
* @param \Drupal\Component\Datetime\TimeInterface $time
* The time.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, MemoryCacheInterface $memory_cache, TimeInterface $time) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->memoryCache = $memory_cache;
$this->time = $time;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('entity.memory_cache'), $container
->get('datetime.time'));
}
/**
* {@inheritdoc}
*/
public function verify($tax_number) {
// The verification result is cached in memory for the duration of the
// request, to account for verify() being called multiple times during
// one form submission (validate -> submit).
$cache_id = 'verification:' . $this->pluginId . ':' . $tax_number;
$cache = $this->memoryCache
->get($cache_id);
if ($cache) {
$result = $cache->data;
}
else {
$result = $this
->doVerify($tax_number);
$this->memoryCache
->set($cache_id, $result);
}
return $result;
}
/**
* Performs the tax number verification.
*
* @param string $tax_number
* The tax number.
*
* @return \Drupal\commerce_tax\Plugin\Commerce\TaxNumberType\VerificationResult
* The verification result.
*/
protected abstract function doVerify($tax_number);
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 | |
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. | |
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. | |
SupportsVerificationInterface:: |
public | function | Renders the given verification result. | 2 |
TaxNumberTypeBase:: |
public | function |
Canonicalizes the given tax number. Overrides TaxNumberTypeInterface:: |
|
TaxNumberTypeBase:: |
public | function |
Gets the supported countries. Overrides TaxNumberTypeInterface:: |
|
TaxNumberTypeBase:: |
public | function |
Gets the tax number examples. Overrides TaxNumberTypeInterface:: |
|
TaxNumberTypeBase:: |
public | function |
Gets the tax number examples, formatted for display. Overrides TaxNumberTypeInterface:: |
|
TaxNumberTypeBase:: |
public | function |
Gets the tax number type label. Overrides TaxNumberTypeInterface:: |
|
TaxNumberTypeInterface:: |
public | function | Validates the given tax number. | 3 |
TaxNumberTypeWithVerificationBase:: |
protected | property | The memory cache. | |
TaxNumberTypeWithVerificationBase:: |
protected | property | The time. | |
TaxNumberTypeWithVerificationBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
TaxNumberTypeWithVerificationBase:: |
abstract protected | function | Performs the tax number verification. | 2 |
TaxNumberTypeWithVerificationBase:: |
public | function |
Verifies the given tax number. Overrides SupportsVerificationInterface:: |
|
TaxNumberTypeWithVerificationBase:: |
public | function |
Constructs a new TaxNumberTypeWithVerificationBase object. Overrides PluginBase:: |