Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Field\FieldStorageDefinitionInterface. | |
*/ | |
namespace Drupal\Core\Field; | |
use Drupal\Core\Cache\CacheableDependencyInterface; | |
use Drupal\Core\Entity\FieldableEntityInterface; | |
/** | |
* Defines an interface for entity field storage definitions. | |
* | |
* Field storage definitions represent the part of full field definitions (see | |
* FieldDefinitionInterface) that is responsible for defining how the field is | |
* stored. While field definitions may differ by entity bundle, all of those | |
* bundle fields have to share the same common field storage definition. Thus, | |
* the storage definitions can be defined by entity type only. | |
* The bundle fields corresponding to a field storage definition may provide | |
* additional information; e.g., they may provide bundle-specific settings or | |
* constraints that are not present in the storage definition. However bundle | |
* fields may not override or alter any information provided by the storage | |
* definition except for the label and the description; e.g., any constraints | |
* and settings on the storage definition must be present on the bundle field as | |
* well. | |
* | |
* @see hook_entity_field_storage_info() | |
*/ | |
interface FieldStorageDefinitionInterface extends CacheableDependencyInterface { | |
/** | |
* Value indicating a field accepts an unlimited number of values. | |
*/ | |
const CARDINALITY_UNLIMITED = -1; | |
/** | |
* Returns the machine name of the field. | |
* | |
* This defines how the field data is accessed from the entity. For example, | |
* if the field name is "foo", then $entity->foo returns its data. | |
* | |
* @return string | |
* The field name. | |
*/ | |
public function getName(); | |
/** | |
* Returns the field type. | |
* | |
* @return string | |
* The field type, i.e. the id of a field type plugin. For example 'text'. | |
* | |
* @see \Drupal\Core\Field\FieldTypePluginManagerInterface | |
*/ | |
public function getType(); | |
/** | |
* Returns the storage settings. | |
* | |
* Each field type defines the settings that are meaningful for that type. | |
* For example, a text field can define a 'max_length' setting, and an image | |
* field can define a 'alt_field_required' setting. | |
* | |
* The method always returns an array of all available settings for this field | |
* type, possibly with the default values merged in if values have not been | |
* provided for all available settings. | |
* | |
* @return mixed[] | |
* An array of key/value pairs. | |
*/ | |
public function getSettings(); | |
/** | |
* Returns the value of a given storage setting. | |
* | |
* @param string $setting_name | |
* The setting name. | |
* | |
* @return mixed | |
* The setting value. | |
*/ | |
public function getSetting($setting_name); | |
/** | |
* Returns whether the field supports translation. | |
* | |
* @return bool | |
* TRUE if the field supports translation. | |
*/ | |
public function isTranslatable(); | |
/** | |
* Sets whether the field supports translation. | |
* | |
* @param bool $translatable | |
* Whether the field supports translation. | |
* | |
* @return $this | |
*/ | |
public function setTranslatable($translatable); | |
/** | |
* Returns whether the field is revisionable. | |
* | |
* @return bool | |
* TRUE if the field is revisionable. | |
*/ | |
public function isRevisionable(); | |
/** | |
* Determines whether the field is queryable via QueryInterface. | |
* | |
* @return bool | |
* TRUE if the field is queryable. | |
*/ | |
public function isQueryable(); | |
/** | |
* Returns the human-readable label for the field. | |
* | |
* @return string | |
* The field label. | |
*/ | |
public function getLabel(); | |
/** | |
* Returns the human-readable description for the field. | |
* | |
* This is displayed in addition to the label in places where additional | |
* descriptive information is helpful. For example, as help text below the | |
* form element in entity edit forms. | |
* | |
* @return string|null | |
* The field description, or NULL if no description is available. | |
*/ | |
public function getDescription(); | |
/** | |
* Gets an options provider for the given field item property. | |
* | |
* @param string $property_name | |
* The name of the property to get options for; e.g., 'value'. | |
* @param \Drupal\Core\Entity\FieldableEntityInterface $entity | |
* The entity for which the options should be provided. | |
* | |
* @return \Drupal\Core\TypedData\OptionsProviderInterface|null | |
* An options provider, or NULL if no options are defined. | |
*/ | |
public function getOptionsProvider($property_name, FieldableEntityInterface $entity); | |
/** | |
* Returns whether the field can contain multiple items. | |
* | |
* @return bool | |
* TRUE if the field can contain multiple items, FALSE otherwise. | |
*/ | |
public function isMultiple(); | |
/** | |
* Returns the maximum number of items allowed for the field. | |
* | |
* Possible values are positive integers or | |
* FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED. | |
* | |
* @return int | |
* The field cardinality. | |
*/ | |
public function getCardinality(); | |
/** | |
* Gets the definition of a contained property. | |
* | |
* @param string $name | |
* The name of property. | |
* | |
* @return \Drupal\Core\TypedData\DataDefinitionInterface|null | |
* The definition of the property or NULL if the property does not exist. | |
*/ | |
public function getPropertyDefinition($name); | |
/** | |
* Gets an array of property definitions of contained properties. | |
* | |
* @return \Drupal\Core\TypedData\DataDefinitionInterface[] | |
* An array of property definitions of contained properties, keyed by | |
* property name. | |
*/ | |
public function getPropertyDefinitions(); | |
/** | |
* Returns the names of the field's subproperties. | |
* | |
* A field is a list of items, and each item can contain one or more | |
* properties. All items for a given field contain the same property names, | |
* but the values can be different for each item. | |
* | |
* For example, an email field might just contain a single 'value' property, | |
* while a link field might contain 'title' and 'url' properties, and a text | |
* field might contain 'value', 'summary', and 'format' properties. | |
* | |
* @return string[] | |
* The property names. | |
*/ | |
public function getPropertyNames(); | |
/** | |
* Returns the name of the main property, if any. | |
* | |
* Some field items consist mainly of one main property, e.g. the value of a | |
* text field or the @code target_id @endcode of an entity reference. If the | |
* field item has no main property, the method returns NULL. | |
* | |
* @return string|null | |
* The name of the value property, or NULL if there is none. | |
*/ | |
public function getMainPropertyName(); | |
/** | |
* Returns the ID of the entity type the field is attached to. | |
* | |
* This method should not be confused with EntityInterface::getEntityTypeId() | |
* (configurable fields are config entities, and thus implement both | |
* interfaces): | |
* - FieldStorageDefinitionInterface::getTargetEntityTypeId() answers "as a | |
* field storage, which entity type are you attached to?". | |
* - EntityInterface::getEntityTypeId() answers "as a (config) entity, what | |
* is your own entity type?". | |
* | |
* @return string | |
* The entity type ID. | |
*/ | |
public function getTargetEntityTypeId(); | |
/** | |
* Returns the field schema. | |
* | |
* Note that this method returns an empty array for computed fields which have | |
* no schema. | |
* | |
* @return array[] | |
* The field schema, as an array of key/value pairs in the format returned | |
* by hook_field_schema(): | |
* - columns: An array of Schema API column specifications, keyed by column | |
* name. This specifies what comprises a single value for a given field. | |
* No assumptions should be made on how storage backends internally use | |
* the original column name to structure their storage. | |
* - indexes: An array of Schema API index definitions. Some storage | |
* backends might not support indexes. | |
* - foreign keys: An array of Schema API foreign key definitions. Note, | |
* however, that depending on the storage backend specified for the field, | |
* the field data is not necessarily stored in SQL. | |
*/ | |
public function getSchema(); | |
/** | |
* Returns the field columns, as defined in the field schema. | |
* | |
* @return array[] | |
* The array of field columns, keyed by column name, in the same format | |
* returned by getSchema(). | |
* | |
* @see \Drupal\Core\Field\FieldStorageDefinitionInterface::getSchema() | |
*/ | |
public function getColumns(); | |
/** | |
* Returns an array of validation constraints. | |
* | |
* See \Drupal\Core\TypedData\DataDefinitionInterface::getConstraints() for | |
* details. | |
* | |
* @return array[] | |
* An array of validation constraint definitions, keyed by constraint name. | |
* Each constraint definition can be used for instantiating | |
* \Symfony\Component\Validator\Constraint objects. | |
* | |
* @see \Symfony\Component\Validator\Constraint | |
*/ | |
public function getConstraints(); | |
/** | |
* Returns a validation constraint. | |
* | |
* See \Drupal\Core\TypedData\DataDefinitionInterface::getConstraints() for | |
* details. | |
* | |
* @param string $constraint_name | |
* The name of the constraint, i.e. its plugin id. | |
* | |
* @return array | |
* A validation constraint definition which can be used for instantiating a | |
* \Symfony\Component\Validator\Constraint object. | |
* | |
* @see \Symfony\Component\Validator\Constraint | |
*/ | |
public function getConstraint($constraint_name); | |
/** | |
* Returns the name of the provider of this field. | |
* | |
* @return string | |
* The provider name; e.g., the module name. | |
*/ | |
public function getProvider(); | |
/** | |
* Returns the storage behavior for this field. | |
* | |
* Indicates whether the entity type's storage should take care of storing the | |
* field values or whether it is handled separately; e.g. by the | |
* module providing the field. | |
* | |
* @return bool | |
* FALSE if the storage takes care of storing the field, TRUE otherwise. | |
*/ | |
public function hasCustomStorage(); | |
/** | |
* Determines whether the field is a base field. | |
* | |
* Base fields are not specific to a given bundle or a set of bundles. This | |
* excludes configurable fields, as they are always attached to a specific | |
* bundle. | |
* | |
* @return bool | |
* Whether the field is a base field. | |
*/ | |
public function isBaseField(); | |
/** | |
* Returns a unique identifier for the field. | |
* | |
* @return string | |
*/ | |
public function getUniqueStorageIdentifier(); | |
} |