3 namespace Drupal\block_content\Access;
5 use Drupal\Core\Access\AccessibleInterface;
8 * Trait for \Drupal\block_content\Access\RefinableDependentAccessInterface.
12 trait RefinableDependentAccessTrait {
15 * The access dependency.
17 * @var \Drupal\Core\Access\AccessibleInterface
19 protected $accessDependency;
24 public function setAccessDependency(AccessibleInterface $access_dependency) {
25 $this->accessDependency = $access_dependency;
32 public function getAccessDependency() {
33 return $this->accessDependency;
39 public function addAccessDependency(AccessibleInterface $access_dependency) {
40 if (empty($this->accessDependency)) {
41 $this->accessDependency = $access_dependency;
44 if (!$this->accessDependency instanceof AccessGroupAnd) {
45 $accessGroup = new AccessGroupAnd();
46 $this->accessDependency = $accessGroup->addDependency($this->accessDependency);
48 $this->accessDependency->addDependency($access_dependency);