class StockLevelProcessor in Commerce Stock 8
Processor used by the StockLevel field.
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements PluginInspectionInterface, TypedDataInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\commerce_stock_field\StockLevelProcessor
Expanded class hierarchy of StockLevelProcessor
File
- modules/
field/ src/ StockLevelProcessor.php, line 10
Namespace
Drupal\commerce_stock_fieldView source
class StockLevelProcessor extends TypedData {
/**
* Whether the stock level have already been computed or not.
*
* @var bool
*/
protected $valueComputed = FALSE;
/**
* Cached processed level.
*
* @var float|null
*/
protected $processedLevel = NULL;
/**
* {@inheritdoc}
*/
public function getValue() {
$this
->ensureComputedValue();
return $this->processedLevel;
}
/**
* {@inheritdoc}
*/
public function setValue($value, $notify = TRUE) {
if (is_null($value)) {
return;
}
$this->processedLevel = $value;
// Make sure that subsequent getter calls do not try to compute the
// stock level again.
$this->valueComputed = TRUE;
}
/**
* Get the current stock level.
*/
protected function computeValue() {
$entity = $this
->getParent()
->getEntity();
/** @var \Drupal\commerce_stock\StockServiceManager $stockServiceManager */
$stockServiceManager = \Drupal::service('commerce_stock.service_manager');
$level = $stockServiceManager
->getStockLevel($entity);
$this->processedLevel = $level;
}
/**
* Ensures that the stock level is only computed once.
*/
protected function ensureComputedValue() {
if ($this->valueComputed === FALSE) {
$this
->computeValue();
$this->valueComputed = TRUE;
}
}
}
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 | |
StockLevelProcessor:: |
protected | property | Cached processed level. | |
StockLevelProcessor:: |
protected | property | Whether the stock level have already been computed or not. | |
StockLevelProcessor:: |
protected | function | Get the current stock level. | |
StockLevelProcessor:: |
protected | function | Ensures that the stock level is only computed once. | |
StockLevelProcessor:: |
public | function |
Gets the data value. Overrides TypedData:: |
|
StockLevelProcessor:: |
public | function |
Sets the data value. Overrides TypedData:: |
|
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. | |
TypedData:: |
protected | property | The data definition. | 1 |
TypedData:: |
protected | property | The property name. | |
TypedData:: |
protected | property | The parent typed data object. | |
TypedData:: |
public | function |
Applies the default value. Overrides TypedDataInterface:: |
3 |
TypedData:: |
public static | function |
Constructs a TypedData object given its definition and context. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets a list of validation constraints. Overrides TypedDataInterface:: |
9 |
TypedData:: |
public | function |
Gets the data definition. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the name of a property or item. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the parent data structure; i.e. either complex data or a list. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Returns the property path of the data. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the root of the typed data tree. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns a string representation of the data. Overrides TypedDataInterface:: |
6 |
TypedData:: |
public | function |
Sets the context of a property or item via a context aware parent. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Validates the currently set data value. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function | Constructs a TypedData object given its definition and context. | 3 |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 2 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 2 |