1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace Drupal\Core\Entity\EntityReferenceSelection;
- /**
- * Interface for Selection plugins that support newly created entities.
- *
- * @see \Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManager
- * @see \Drupal\Core\Entity\Annotation\EntityReferenceSelection
- * @see plugin_api
- */
- interface SelectionWithAutocreateInterface {
- /**
- * Creates a new entity object that can be used as a valid reference.
- *
- * @param string $entity_type_id
- * The entity type ID.
- * @param string $bundle
- * The bundle name.
- * @param string $label
- * The entity label.
- * @param int $uid
- * The entity owner ID, if the entity type supports it.
- *
- * @return \Drupal\Core\Entity\EntityInterface
- * An unsaved entity object.
- */
- public function createNewEntity($entity_type_id, $bundle, $label, $uid);
- /**
- * Validates which newly created entities can be referenced.
- *
- * This method should replicate the logic implemented by
- * \Drupal\Core\Entity\EntityReferenceSelection\SelectionInterface::validateReferenceableEntities(),
- * but applied to newly created entities that have not been saved yet.
- *
- * @param \Drupal\Core\Entity\EntityInterface[] $entities
- * An array of entities to check.
- *
- * @return \Drupal\Core\Entity\EntityInterface[]
- * The incoming $entities parameter, filtered for valid entities. Array keys
- * are preserved.
- */
- public function validateReferenceableNewEntities(array $entities);
- }
|