Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Entity / EntityReferenceSelection / SelectionInterface.php
diff --git a/web/core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionInterface.php b/web/core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionInterface.php
new file mode 100644 (file)
index 0000000..d9fcb06
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+
+namespace Drupal\Core\Entity\EntityReferenceSelection;
+
+use Drupal\Core\Database\Query\SelectInterface;
+use Drupal\Core\Plugin\PluginFormInterface;
+
+/**
+ * Interface definition for Entity Reference Selection plugins.
+ *
+ * @see \Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManager
+ * @see \Drupal\Core\Entity\Annotation\EntityReferenceSelection
+ * @see plugin_api
+ */
+interface SelectionInterface extends PluginFormInterface {
+
+  /**
+   * Gets the list of referenceable entities.
+   *
+   * @return array
+   *   A nested array of entities, the first level is keyed by the
+   *   entity bundle, which contains an array of entity labels (escaped),
+   *   keyed by the entity ID.
+   */
+  public function getReferenceableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0);
+
+  /**
+   * Counts entities that are referenceable.
+   *
+   * @return int
+   *   The number of referenceable entities.
+   */
+  public function countReferenceableEntities($match = NULL, $match_operator = 'CONTAINS');
+
+  /**
+   * Validates which existing entities can be referenced.
+   *
+   * @return array
+   *   An array of valid entity IDs.
+   */
+  public function validateReferenceableEntities(array $ids);
+
+  /**
+   * Allows the selection to alter the SelectQuery generated by EntityFieldQuery.
+   *
+   * @param \Drupal\Core\Database\Query\SelectInterface $query
+   *   A Select Query object.
+   */
+  public function entityQueryAlter(SelectInterface $query);
+
+}