123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- namespace Drupal\Core\Field;
- use Drupal\Component\Plugin\CategorizingPluginManagerInterface;
- use Drupal\Component\Plugin\PluginManagerInterface;
- use Drupal\Core\Entity\FieldableEntityInterface;
- /**
- * Defines an interface for the field type plugin manager.
- *
- * @ingroup field_types
- */
- interface FieldTypePluginManagerInterface extends PluginManagerInterface, CategorizingPluginManagerInterface {
- /**
- * Creates a new field item list.
- *
- * The provided entity is assigned as the parent of the created item list.
- * However, it is the responsibility of the caller (usually the parent entity
- * itself) to make the parent aware of the field as a new child.
- *
- * @param \Drupal\Core\Entity\FieldableEntityInterface $entity
- * The entity this field item list will be part of.
- * @param string $field_name
- * The name of the field.
- * @param mixed $values
- * (optional) The data value. If set, it has to match one of the supported
- * data type format as documented for the data type classes.
- *
- * @return \Drupal\Core\Field\FieldItemListInterface
- * The instantiated object.
- */
- public function createFieldItemList(FieldableEntityInterface $entity, $field_name, $values = NULL);
- /**
- * Creates a new field item as part of a field item list.
- *
- * The provided item list is assigned as the parent of the created item. It
- * However, it is the responsibility of the caller (usually the parent list
- * itself) to have the parent aware of the item as a new child.
- *
- * @param \Drupal\Core\Field\FieldItemListInterface $items
- * The field item list, for which to create a new item.
- * @param int $index
- * The list index at which the item is created.
- * @param array|null $values
- * (optional) The values to assign to the field item properties.
- *
- * @return \Drupal\Core\Field\FieldItemInterface
- * The instantiated object.
- */
- public function createFieldItem(FieldItemListInterface $items, $index, $values = NULL);
- /**
- * Returns the default field-level settings for a field type.
- *
- * @param string $type
- * A field type name.
- *
- * @return array
- * The field's default settings, as provided by the plugin definition, or
- * an empty array if type or settings are undefined.
- */
- public function getDefaultFieldSettings($type);
- /**
- * Returns the default storage-level settings for a field type.
- *
- * @param string $type
- * A field type name.
- *
- * @return array
- * The type's default settings, as provided by the plugin definition, or an
- * empty array if type or settings are undefined.
- */
- public function getDefaultStorageSettings($type);
- /**
- * Gets the definition of all field types that can be added via UI.
- *
- * @return array
- * An array of field type definitions.
- */
- public function getUiDefinitions();
- /**
- * Returns preconfigured field options for a field type.
- *
- * This is a wrapper around
- * \Drupal\Core\Field\PreconfiguredFieldUiOptionsInterface::getPreconfiguredOptions()
- * allowing modules to alter the result of this method by implementing
- * hook_field_ui_preconfigured_options_alter().
- *
- * @param string $field_type
- * The field type plugin ID.
- *
- * @return array
- * A multi-dimensional array as returned from
- * \Drupal\Core\Field\PreconfiguredFieldUiOptionsInterface::getPreconfiguredOptions().
- *
- * @see \Drupal\Core\Field\PreconfiguredFieldUiOptionsInterface::getPreconfiguredOptions()
- * @see hook_field_ui_preconfigured_options_alter()
- */
- public function getPreconfiguredOptions($field_type);
- /**
- * Returns the PHP class that implements the field type plugin.
- *
- * @param string $type
- * A field type name.
- *
- * @return string
- * Field type plugin class name.
- */
- public function getPluginClass($type);
- }
|