class EntityLazyLoadContext
Same name in other branches
- 8.x-3.x src/Context/EntityLazyLoadContext.php \Drupal\ctools\Context\EntityLazyLoadContext
Defines context that loads entity on demand.
Hierarchy
- class \Drupal\Component\Plugin\Context\Context implements \Drupal\Component\Plugin\Context\ContextInterface
- class \Drupal\Core\Plugin\Context\Context extends \Drupal\Component\Plugin\Context\Context implements \Drupal\Core\Plugin\Context\ContextInterface uses \Drupal\Core\TypedData\TypedDataTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait
- class \Drupal\ctools\Context\EntityLazyLoadContext extends \Drupal\Core\Plugin\Context\Context
- class \Drupal\Core\Plugin\Context\Context extends \Drupal\Component\Plugin\Context\Context implements \Drupal\Core\Plugin\Context\ContextInterface uses \Drupal\Core\TypedData\TypedDataTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait
Expanded class hierarchy of EntityLazyLoadContext
2 files declare their use of EntityLazyLoadContext
- ContextMapper.php in src/
ContextMapper.php - ContextMapperTest.php in tests/
src/ Unit/ ContextMapperTest.php
File
-
src/
Context/ EntityLazyLoadContext.php, line 12
Namespace
Drupal\ctools\ContextView source
class EntityLazyLoadContext extends Context {
/**
* The entity UUID.
*
* @var string
*/
protected $uuid;
/**
* The entity repository.
*
* @var \Drupal\Core\Entity\EntityRepositoryInterface
*/
protected $entityRepository;
/**
* Construct an EntityLazyLoadContext object.
*
* @param \Drupal\Core\Plugin\Context\ContextDefinitionInterface $context_definition
* The context definition.
* @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
* The entity repository.
* @param string $uuid
* The UUID of the entity.
*/
public function __construct(ContextDefinitionInterface $context_definition, EntityRepositoryInterface $entity_repository, $uuid) {
parent::__construct($context_definition);
$this->entityRepository = $entity_repository;
$this->uuid = $uuid;
}
/**
* {@inheritdoc}
*/
public function getContextValue() {
if (!$this->contextData) {
$entity_type_id = substr($this->contextDefinition
->getDataType(), 7);
$this->setContextValue($this->entityRepository
->loadEntityByUuid($entity_type_id, $this->uuid));
}
return parent::getContextValue();
}
/**
* {@inheritdoc}
*/
public function hasContextValue() {
// Ensure that the entity is loaded before checking if it exists.
if (!$this->contextData) {
$this->getContextValue();
}
return parent::hasContextValue();
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
Context::$cacheabilityMetadata | protected | property | The cacheability metadata. | ||
Context::$contextData | protected | property | The data associated with the context. | ||
Context::$contextDefinition | protected | property | The definition to which a context must conform. | Overrides Context::$contextDefinition | |
Context::$contextValue | protected | property | The value of the context. | ||
Context::addCacheableDependency | public | function | Adds a dependency on an object: merges its cacheability metadata. | Overrides ContextInterface::addCacheableDependency | |
Context::createFromContext | public static | function | Creates a new context with a different value. | Overrides ContextInterface::createFromContext | |
Context::getCacheContexts | public | function | The cache contexts associated with this object. | Overrides CacheableDependencyInterface::getCacheContexts | |
Context::getCacheMaxAge | public | function | The maximum age for which this object may be cached. | Overrides CacheableDependencyInterface::getCacheMaxAge | |
Context::getCacheTags | public | function | The cache tags associated with this object. | Overrides CacheableDependencyInterface::getCacheTags | |
Context::getConstraints | public | function | Gets a list of validation constraints. | Overrides Context::getConstraints | |
Context::getContextData | public | function | Gets the context value as typed data object. | Overrides ContextInterface::getContextData | |
Context::getContextDefinition | public | function | Gets the provided definition that the context must conform to. | Overrides Context::getContextDefinition | |
Context::setContextValue | protected | function | Sets the context value. | ||
Context::validate | public | function | Validates the set context value. | Overrides Context::validate | |
DependencySerializationTrait::$_entityStorages | protected | property | |||
DependencySerializationTrait::$_serviceIds | protected | property | |||
DependencySerializationTrait::__sleep | public | function | 1 | ||
DependencySerializationTrait::__wakeup | public | function | 2 | ||
EntityLazyLoadContext::$entityRepository | protected | property | The entity repository. | ||
EntityLazyLoadContext::$uuid | protected | property | The entity UUID. | ||
EntityLazyLoadContext::getContextValue | public | function | Gets the context value. | Overrides Context::getContextValue | |
EntityLazyLoadContext::hasContextValue | public | function | Returns whether the context has a value. | Overrides Context::hasContextValue | |
EntityLazyLoadContext::__construct | public | function | Construct an EntityLazyLoadContext object. | Overrides Context::__construct | |
TypedDataTrait::$typedDataManager | protected | property | The typed data manager used for creating the data types. | ||
TypedDataTrait::getTypedDataManager | public | function | Gets the typed data manager. | 2 | |
TypedDataTrait::setTypedDataManager | public | function | Sets the typed data manager. | 2 |