Mercurial > hg > cmmr2012-drupal-site
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); + +}