Mercurial > hg > isophonics-drupal-site
comparison core/lib/Drupal/Core/Field/FieldConfigInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Core\Field; | |
4 | |
5 use Drupal\Core\Config\Entity\ConfigEntityInterface; | |
6 | |
7 /** | |
8 * Defines an interface for configurable field definitions. | |
9 * | |
10 * This interface allows both configurable fields and overridden base fields to | |
11 * share a common interface. The interface also extends ConfigEntityInterface | |
12 * to ensure that implementations have the expected save() method. | |
13 * | |
14 * @see \Drupal\Core\Field\Entity\BaseFieldOverride | |
15 * @see \Drupal\field\Entity\FieldConfig | |
16 */ | |
17 interface FieldConfigInterface extends FieldDefinitionInterface, ConfigEntityInterface { | |
18 | |
19 /** | |
20 * Sets the field definition label. | |
21 * | |
22 * @param string $label | |
23 * The label to set. | |
24 * | |
25 * @return $this | |
26 */ | |
27 public function setLabel($label); | |
28 | |
29 /** | |
30 * Sets a human readable description. | |
31 * | |
32 * Descriptions are usually used on user interfaces where the data is edited | |
33 * or displayed. | |
34 * | |
35 * @param string $description | |
36 * The description for this field. | |
37 * | |
38 * @return $this | |
39 */ | |
40 public function setDescription($description); | |
41 | |
42 /** | |
43 * Sets whether the field is translatable. | |
44 * | |
45 * @param bool $translatable | |
46 * Whether the field is translatable. | |
47 * | |
48 * @return $this | |
49 */ | |
50 public function setTranslatable($translatable); | |
51 | |
52 /** | |
53 * Sets field settings. | |
54 * | |
55 * Note that the method does not unset existing settings not specified in the | |
56 * incoming $settings array. | |
57 * | |
58 * For example: | |
59 * @code | |
60 * // Given these are the default settings. | |
61 * $field_definition->getSettings() === [ | |
62 * 'fruit' => 'apple', | |
63 * 'season' => 'summer', | |
64 * ]; | |
65 * // Change only the 'fruit' setting. | |
66 * $field_definition->setSettings(['fruit' => 'banana']); | |
67 * // The 'season' setting persists unchanged. | |
68 * $field_definition->getSettings() === [ | |
69 * 'fruit' => 'banana', | |
70 * 'season' => 'summer', | |
71 * ]; | |
72 * @endcode | |
73 * | |
74 * For clarity, it is preferred to use setSetting() if not all available | |
75 * settings are supplied. | |
76 * | |
77 * @param array $settings | |
78 * The array of field settings. | |
79 * | |
80 * @return $this | |
81 */ | |
82 public function setSettings(array $settings); | |
83 | |
84 /** | |
85 * Sets the value for a field setting by name. | |
86 * | |
87 * @param string $setting_name | |
88 * The name of the setting. | |
89 * @param mixed $value | |
90 * The value of the setting. | |
91 * | |
92 * @return $this | |
93 */ | |
94 public function setSetting($setting_name, $value); | |
95 | |
96 /** | |
97 * Sets whether the field can be empty. | |
98 * | |
99 * If a field is required, an entity needs to have at least a valid, | |
100 * non-empty item in that field's FieldItemList in order to pass validation. | |
101 * | |
102 * An item is considered empty if its isEmpty() method returns TRUE. | |
103 * Typically, that is if at least one of its required properties is empty. | |
104 * | |
105 * @param bool $required | |
106 * TRUE if the field is required. FALSE otherwise. | |
107 * | |
108 * @return $this | |
109 * The current object, for a fluent interface. | |
110 */ | |
111 public function setRequired($required); | |
112 | |
113 /** | |
114 * Sets a default value. | |
115 * | |
116 * Note that if a default value callback is set, it will take precedence over | |
117 * any value set here. | |
118 * | |
119 * @param mixed $value | |
120 * The default value for the field. This can be either: | |
121 * - a literal, in which case it will be assigned to the first property of | |
122 * the first item. | |
123 * - a numerically indexed array of items, each item being a property/value | |
124 * array. | |
125 * - a non-numerically indexed array, in which case the array is assumed to | |
126 * be a property/value array and used as the first item | |
127 * - NULL or array() for no default value. | |
128 * | |
129 * @return $this | |
130 */ | |
131 public function setDefaultValue($value); | |
132 | |
133 /** | |
134 * Sets a custom default value callback. | |
135 * | |
136 * If set, the callback overrides any set default value. | |
137 * | |
138 * @param string|null $callback | |
139 * The callback to invoke for getting the default value (pass NULL to unset | |
140 * a previously set callback). The callback will be invoked with the | |
141 * following arguments: | |
142 * - \Drupal\Core\Entity\FieldableEntityInterface $entity | |
143 * The entity being created. | |
144 * - \Drupal\Core\Field\FieldDefinitionInterface $definition | |
145 * The field definition. | |
146 * It should return the default value in the format accepted by the | |
147 * setDefaultValue() method. | |
148 * | |
149 * @return $this | |
150 */ | |
151 public function setDefaultValueCallback($callback); | |
152 | |
153 /** | |
154 * Sets constraints for a given field item property. | |
155 * | |
156 * Note: this overwrites any existing property constraints. If you need to | |
157 * add to the existing constraints, use | |
158 * \Drupal\Core\Field\FieldConfigInterface::addPropertyConstraints() | |
159 * | |
160 * Note that constraints added via this method are not stored in configuration | |
161 * and as such need to be added at runtime using | |
162 * hook_entity_bundle_field_info_alter(). | |
163 * | |
164 * @param string $name | |
165 * The name of the property to set constraints for. | |
166 * @param array $constraints | |
167 * The constraints to set. | |
168 * | |
169 * @return static | |
170 * The object itself for chaining. | |
171 * | |
172 * @see hook_entity_bundle_field_info_alter() | |
173 */ | |
174 public function setPropertyConstraints($name, array $constraints); | |
175 | |
176 /** | |
177 * Adds constraints for a given field item property. | |
178 * | |
179 * Adds a constraint to a property of a field item. e.g. | |
180 * @code | |
181 * // Limit the field item's value property to the range 0 through 10. | |
182 * // e.g. $node->field_how_many->value. | |
183 * $field->addPropertyConstraints('value', [ | |
184 * 'Range' => [ | |
185 * 'min' => 0, | |
186 * 'max' => 10, | |
187 * ] | |
188 * ]); | |
189 * @endcode | |
190 * | |
191 * If you want to add a validation constraint that applies to the | |
192 * \Drupal\Core\Field\FieldItemList, use FieldConfigInterface::addConstraint() | |
193 * instead. | |
194 * | |
195 * Note: passing a new set of options for an existing property constraint will | |
196 * overwrite with the new options. | |
197 * | |
198 * Note that constraints added via this method are not stored in configuration | |
199 * and as such need to be added at runtime using | |
200 * hook_entity_bundle_field_info_alter(). | |
201 * | |
202 * @param string $name | |
203 * The name of the property to set constraints for. | |
204 * @param array $constraints | |
205 * The constraints to set. | |
206 * | |
207 * @return static | |
208 * The object itself for chaining. | |
209 * | |
210 * @see \Drupal\Core\Field\FieldConfigInterface::addConstraint() | |
211 * @see hook_entity_bundle_field_info_alter() | |
212 */ | |
213 public function addPropertyConstraints($name, array $constraints); | |
214 | |
215 /** | |
216 * Adds a validation constraint to the FieldItemList. | |
217 * | |
218 * Note: If you wish to apply a constraint to just a property of a FieldItem | |
219 * use \Drupal\Core\Field\FieldConfigInterface::addPropertyConstraints() | |
220 * instead. | |
221 * @code | |
222 * // Add a constraint to the 'field_username' FieldItemList. | |
223 * // e.g. $node->field_username | |
224 * $fields['field_username']->addConstraint('UniqueField'); | |
225 * @endcode | |
226 * | |
227 * If you wish to apply a constraint to a \Drupal\Core\Field\FieldItem instead | |
228 * of a property or FieldItemList, you can use the | |
229 * \Drupal\Core\Field\FieldConfigBase::getItemDefinition() method. | |
230 * @code | |
231 * // Add a constraint to the 'field_entity_reference' FieldItem (entity | |
232 * // reference item). | |
233 * $fields['field_entity_reference']->getItemDefinition()->addConstraint('MyCustomFieldItemValidationPlugin', []); | |
234 * @endcode | |
235 * | |
236 * See \Drupal\Core\TypedData\DataDefinitionInterface::getConstraints() for | |
237 * details. | |
238 * | |
239 * Note that constraints added via this method are not stored in configuration | |
240 * and as such need to be added at runtime using | |
241 * hook_entity_bundle_field_info_alter(). | |
242 * | |
243 * @param string $constraint_name | |
244 * The name of the constraint to add, i.e. its plugin id. | |
245 * @param array|null $options | |
246 * The constraint options as required by the constraint plugin, or NULL. | |
247 * | |
248 * @return static | |
249 * The object itself for chaining. | |
250 * | |
251 * @see \Drupal\Core\Field\FieldItemList | |
252 * @see \Drupal\Core\Field\FieldConfigInterface::addPropertyConstraints() | |
253 * @see hook_entity_bundle_field_info_alter() | |
254 */ | |
255 public function addConstraint($constraint_name, $options = NULL); | |
256 | |
257 /** | |
258 * Sets the array of validation constraints for the FieldItemList. | |
259 * | |
260 * NOTE: This will overwrite any previously set constraints. In most cases | |
261 * FieldConfigInterface::addConstraint() should be used instead. | |
262 * | |
263 * Note that constraints added via this method are not stored in configuration | |
264 * and as such need to be added at runtime using | |
265 * hook_entity_bundle_field_info_alter(). | |
266 * | |
267 * @param array $constraints | |
268 * The array of constraints. See | |
269 * \Drupal\Core\TypedData\TypedDataManager::getConstraints() for details. | |
270 * | |
271 * @return $this | |
272 * | |
273 * @see \Drupal\Core\TypedData\DataDefinition::addConstraint() | |
274 * @see \Drupal\Core\TypedData\DataDefinition::getConstraints() | |
275 * @see \Drupal\Core\Field\FieldItemList | |
276 * @see hook_entity_bundle_field_info_alter() | |
277 */ | |
278 public function setConstraints(array $constraints); | |
279 | |
280 } |