Version 1
[yaffs-website] / web / core / modules / block / src / BlockInterface.php
diff --git a/web/core/modules/block/src/BlockInterface.php b/web/core/modules/block/src/BlockInterface.php
new file mode 100644 (file)
index 0000000..85e5b06
--- /dev/null
@@ -0,0 +1,141 @@
+<?php
+
+namespace Drupal\block;
+
+use Drupal\Core\Block\BlockPluginInterface;
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+
+/**
+ * Provides an interface defining a block entity.
+ */
+interface BlockInterface extends ConfigEntityInterface {
+
+  /**
+   * Indicates the block label (title) should be displayed to end users.
+   *
+   * @deprecated in Drupal 8.3.x, will be removed before Drupal 9.0.0.
+   *   Use \Drupal\Core\Block\BlockPluginInterface::BLOCK_LABEL_VISIBLE.
+   */
+  const BLOCK_LABEL_VISIBLE = BlockPluginInterface::BLOCK_LABEL_VISIBLE;
+
+  /**
+   * Denotes that a block is not enabled in any region and should not be shown.
+   *
+   * @deprecated Scheduled for removal in Drupal 9.0.0.
+   */
+  const BLOCK_REGION_NONE = -1;
+
+  /**
+   * Returns the plugin instance.
+   *
+   * @return \Drupal\Core\Block\BlockPluginInterface
+   *   The plugin instance for this block.
+   */
+  public function getPlugin();
+
+  /**
+   * Returns the plugin ID.
+   *
+   * @return string
+   *   The plugin ID for this block.
+   */
+  public function getPluginId();
+
+  /**
+   * Returns the region this block is placed in.
+   *
+   * @return string
+   *   The region this block is placed in.
+   */
+  public function getRegion();
+
+  /**
+   * Returns the theme ID.
+   *
+   * @return string
+   *   The theme ID for this block instance.
+   */
+  public function getTheme();
+
+  /**
+   * Returns an array of visibility condition configurations.
+   *
+   * @return array
+   *   An array of visibility condition configuration keyed by the condition ID.
+   */
+  public function getVisibility();
+
+  /**
+   * Gets conditions for this block.
+   *
+   * @return \Drupal\Core\Condition\ConditionInterface[]|\Drupal\Core\Condition\ConditionPluginCollection
+   *   An array or collection of configured condition plugins.
+   */
+  public function getVisibilityConditions();
+
+  /**
+   * Gets a visibility condition plugin instance.
+   *
+   * @param string $instance_id
+   *   The condition plugin instance ID.
+   *
+   * @return \Drupal\Core\Condition\ConditionInterface
+   *   A condition plugin.
+   */
+  public function getVisibilityCondition($instance_id);
+
+  /**
+   * Sets the visibility condition configuration.
+   *
+   * @param string $instance_id
+   *   The condition instance ID.
+   * @param array $configuration
+   *   The condition configuration.
+   *
+   * @return $this
+   */
+  public function setVisibilityConfig($instance_id, array $configuration);
+
+  /**
+   * Returns the weight of this block (used for sorting).
+   *
+   * @return int
+   *   The block weight.
+   */
+  public function getWeight();
+
+  /**
+   * Sets the region this block is placed in.
+   *
+   * @param string $region
+   *   The region to place this block in.
+   *
+   * @return $this
+   */
+  public function setRegion($region);
+
+  /**
+   * Sets the block weight.
+   *
+   * @param int $weight
+   *   The desired weight.
+   *
+   * @return $this
+   */
+  public function setWeight($weight);
+
+  /**
+   * Creates a duplicate of the block entity.
+   *
+   * @param string $new_id
+   *   (optional) The new ID on the duplicate block.
+   * @param string $new_theme
+   *   (optional) The theme on the duplicate block.
+   *
+   * @return static
+   *   A clone of $this with all identifiers unset, so saving it inserts a new
+   *   entity into the storage system.
+   */
+  public function createDuplicateBlock($new_id = NULL, $new_theme = NULL);
+
+}