diff core/modules/block_content/src/Access/RefinableDependentAccessInterface.php @ 4:a9cd425dd02b

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:11:55 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/block_content/src/Access/RefinableDependentAccessInterface.php	Thu Feb 28 13:11:55 2019 +0000
@@ -0,0 +1,48 @@
+<?php
+
+namespace Drupal\block_content\Access;
+
+use Drupal\Core\Access\AccessibleInterface;
+
+/**
+ * An interface to allow adding an access dependency.
+ *
+ * @internal
+ */
+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);
+
+}