Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Entity / Display / EntityDisplayInterface.php
diff --git a/web/core/lib/Drupal/Core/Entity/Display/EntityDisplayInterface.php b/web/core/lib/Drupal/Core/Entity/Display/EntityDisplayInterface.php
new file mode 100644 (file)
index 0000000..38baa15
--- /dev/null
@@ -0,0 +1,131 @@
+<?php
+
+namespace Drupal\Core\Entity\Display;
+
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+use Drupal\Core\Entity\EntityWithPluginCollectionInterface;
+
+/**
+ * Provides a common interface for entity displays.
+ */
+interface EntityDisplayInterface extends ConfigEntityInterface, EntityWithPluginCollectionInterface {
+
+  /**
+   * Creates a duplicate of the entity display object on a different view mode.
+   *
+   * The new object necessarily has the same $targetEntityType and $bundle
+   * properties than the original one.
+   *
+   * @param string $view_mode
+   *   The view mode for the new object.
+   *
+   * @return static
+   *   A duplicate of this object with the given view mode.
+   */
+  public function createCopy($view_mode);
+
+  /**
+   * Gets the display options for all components.
+   *
+   * @return array
+   *   The array of display options, keyed by component name.
+   */
+  public function getComponents();
+
+  /**
+   * Gets the display options set for a component.
+   *
+   * @param string $name
+   *   The name of the component.
+   *
+   * @return array|null
+   *   The display options for the component, or NULL if the component is not
+   *   displayed.
+   */
+  public function getComponent($name);
+
+  /**
+   * Sets the display options for a component.
+   *
+   * @param string $name
+   *   The name of the component.
+   * @param array $options
+   *   The display options.
+   *
+   * @return $this
+   */
+  public function setComponent($name, array $options = []);
+
+  /**
+   * Sets a component to be hidden.
+   *
+   * @param string $name
+   *   The name of the component.
+   *
+   * @return $this
+   */
+  public function removeComponent($name);
+
+  /**
+   * Gets the highest weight of the components in the display.
+   *
+   * @return int|null
+   *   The highest weight of the components in the display, or NULL if the
+   *   display is empty.
+   */
+  public function getHighestWeight();
+
+  /**
+   * Gets the renderer plugin for a field (e.g. widget, formatter).
+   *
+   * @param string $field_name
+   *   The field name.
+   *
+   * @return \Drupal\Core\Field\PluginSettingsInterface|null
+   *   A widget or formatter plugin or NULL if the field does not exist.
+   */
+  public function getRenderer($field_name);
+
+  /**
+   * Gets the entity type for which this display is used.
+   *
+   * @return string
+   *   The entity type id.
+   */
+  public function getTargetEntityTypeId();
+
+  /**
+   * Gets the view or form mode to be displayed.
+   *
+   * @return string
+   *   The mode to be displayed.
+   */
+  public function getMode();
+
+  /**
+   * Gets the original view or form mode that was requested.
+   *
+   * @return string
+   *   The original mode that was requested.
+   */
+  public function getOriginalMode();
+
+  /**
+   * Gets the bundle to be displayed.
+   *
+   * @return string
+   *   The bundle to be displayed.
+   */
+  public function getTargetBundle();
+
+  /**
+   * Sets the bundle to be displayed.
+   *
+   * @param string $bundle
+   *   The bundle to be displayed.
+   *
+   * @return $this
+   */
+  public function setTargetBundle($bundle);
+
+}