You are here

interface RefinableDependentAccessInterface in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block_content/src/Access/RefinableDependentAccessInterface.php \Drupal\block_content\Access\RefinableDependentAccessInterface
  2. 10 core/modules/block_content/src/Access/RefinableDependentAccessInterface.php \Drupal\block_content\Access\RefinableDependentAccessInterface

An interface to allow adding an access dependency.

@internal

Hierarchy

Expanded class hierarchy of RefinableDependentAccessInterface

All classes that implement RefinableDependentAccessInterface

5 files declare their use of RefinableDependentAccessInterface
BlockComponentRenderArray.php in core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
BlockComponentRenderArrayTest.php in core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
BlockContentInterface.php in core/modules/block_content/src/BlockContentInterface.php
DependentAccessTest.php in core/modules/block_content/tests/src/Unit/Access/DependentAccessTest.php
InlineBlock.php in core/modules/layout_builder/src/Plugin/Block/InlineBlock.php

File

core/modules/block_content/src/Access/RefinableDependentAccessInterface.php, line 12

Namespace

Drupal\block_content\Access
View source
interface RefinableDependentAccessInterface extends DependentAccessInterface {

  /**
   * Sets the access dependency.
   *
   * If an access dependency is already set this will replace the existing
   * dependency.
   *
   * @param \Drupal\Core\Access\AccessibleInterface $access_dependency
   *   The object upon which access depends.
   *
   * @return $this
   */
  public function setAccessDependency(AccessibleInterface $access_dependency);

  /**
   * Adds an access dependency into the existing access dependency.
   *
   * If no existing dependency is currently set this will set the dependency
   * will be set to the new value.
   *
   * If there is an existing dependency and it is not an instance of
   * AccessGroupAnd the dependency will be set as a new AccessGroupAnd
   * instance with the existing and new dependencies as the members of the
   * group.
   *
   * If there is an existing dependency and it is a instance of AccessGroupAnd
   * the dependency will be added to the existing access group.
   *
   * @param \Drupal\Core\Access\AccessibleInterface $access_dependency
   *   The access dependency to merge.
   *
   * @return $this
   */
  public function addAccessDependency(AccessibleInterface $access_dependency);

}

Members

Namesort descending Modifiers Type Description Overrides
DependentAccessInterface::getAccessDependency public function Gets the access dependency.
RefinableDependentAccessInterface::addAccessDependency public function Adds an access dependency into the existing access dependency.
RefinableDependentAccessInterface::setAccessDependency public function Sets the access dependency.