You are here

interface WorkspaceManagerInterface in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/workspaces/src/WorkspaceManagerInterface.php \Drupal\workspaces\WorkspaceManagerInterface

Provides an interface for managing Workspaces.

Hierarchy

Expanded class hierarchy of WorkspaceManagerInterface

All classes that implement WorkspaceManagerInterface

13 files declare their use of WorkspaceManagerInterface
ActiveWorkspaceCheck.php in core/modules/workspaces/src/Access/ActiveWorkspaceCheck.php
ActiveWorkspaceCheckTest.php in core/modules/workspaces/tests/src/Unit/ActiveWorkspaceCheckTest.php
EntityReferenceSupportedNewEntitiesConstraintValidator.php in core/modules/workspaces/src/Plugin/Validation/Constraint/EntityReferenceSupportedNewEntitiesConstraintValidator.php
EntitySchemaSubscriber.php in core/modules/workspaces/src/EventSubscriber/EntitySchemaSubscriber.php
EntityWorkspaceConflictConstraintValidator.php in core/modules/workspaces/src/Plugin/Validation/Constraint/EntityWorkspaceConflictConstraintValidator.php

... See full list

File

core/modules/workspaces/src/WorkspaceManagerInterface.php, line 10

Namespace

Drupal\workspaces
View source
interface WorkspaceManagerInterface {

  /**
   * Returns whether an entity type can belong to a workspace or not.
   *
   * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
   *   The entity type to check.
   *
   * @return bool
   *   TRUE if the entity type can belong to a workspace, FALSE otherwise.
   */
  public function isEntityTypeSupported(EntityTypeInterface $entity_type);

  /**
   * Returns an array of entity types that can belong to workspaces.
   *
   * @return \Drupal\Core\Entity\EntityTypeInterface[]
   *   The entity types what can belong to workspaces.
   */
  public function getSupportedEntityTypes();

  /**
   * Determines whether a workspace is active in the current request.
   *
   * @return bool
   *   TRUE if a workspace is active, FALSE otherwise.
   */
  public function hasActiveWorkspace();

  /**
   * Gets the active workspace.
   *
   * @return \Drupal\workspaces\WorkspaceInterface
   *   The active workspace entity object.
   */
  public function getActiveWorkspace();

  /**
   * Sets the active workspace via the workspace negotiators.
   *
   * @param \Drupal\workspaces\WorkspaceInterface $workspace
   *   The workspace to set as active.
   *
   * @return $this
   *
   * @throws \Drupal\workspaces\WorkspaceAccessException
   *   Thrown when the current user doesn't have access to view the workspace.
   */
  public function setActiveWorkspace(WorkspaceInterface $workspace);

  /**
   * Unsets the active workspace via the workspace negotiators.
   *
   * @return $this
   */
  public function switchToLive();

  /**
   * Executes the given callback function in the context of a workspace.
   *
   * @param string $workspace_id
   *   The ID of a workspace.
   * @param callable $function
   *   The callback to be executed.
   *
   * @return mixed
   *   The callable's return value.
   */
  public function executeInWorkspace($workspace_id, callable $function);

  /**
   * Executes the given callback function without any workspace context.
   *
   * @param callable $function
   *   The callback to be executed.
   *
   * @return mixed
   *   The callable's return value.
   */
  public function executeOutsideWorkspace(callable $function);

  /**
   * Determines whether runtime entity operations should be altered.
   *
   * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
   *   The entity type to check.
   *
   * @return bool
   *   TRUE if the entity operations or queries should be altered in the current
   *   request, FALSE otherwise.
   */
  public function shouldAlterOperations(EntityTypeInterface $entity_type);

  /**
   * Deletes the revisions associated with deleted workspaces.
   */
  public function purgeDeletedWorkspacesBatch();

}

Members

Namesort descending Modifiers Type Description Overrides
WorkspaceManagerInterface::executeInWorkspace public function Executes the given callback function in the context of a workspace. 1
WorkspaceManagerInterface::executeOutsideWorkspace public function Executes the given callback function without any workspace context. 1
WorkspaceManagerInterface::getActiveWorkspace public function Gets the active workspace. 1
WorkspaceManagerInterface::getSupportedEntityTypes public function Returns an array of entity types that can belong to workspaces. 1
WorkspaceManagerInterface::hasActiveWorkspace public function Determines whether a workspace is active in the current request. 1
WorkspaceManagerInterface::isEntityTypeSupported public function Returns whether an entity type can belong to a workspace or not. 1
WorkspaceManagerInterface::purgeDeletedWorkspacesBatch public function Deletes the revisions associated with deleted workspaces. 1
WorkspaceManagerInterface::setActiveWorkspace public function Sets the active workspace via the workspace negotiators. 1
WorkspaceManagerInterface::shouldAlterOperations public function Determines whether runtime entity operations should be altered. 1
WorkspaceManagerInterface::switchToLive public function Unsets the active workspace via the workspace negotiators. 1