setLabel(t('URI value')) ->setSetting('case_sensitive', $field_definition->getSetting('case_sensitive')) ->setRequired(TRUE); return $properties; } /** * {@inheritdoc} */ public static function schema(FieldStorageDefinitionInterface $field_definition) { return [ 'columns' => [ 'value' => [ 'type' => 'varchar', 'length' => (int) $field_definition->getSetting('max_length'), 'binary' => $field_definition->getSetting('case_sensitive'), ], ], ]; } /** * {@inheritdoc} */ public function isEmpty() { $value = $this->getValue(); if (!isset($value['value']) || $value['value'] === '') { return TRUE; } return parent::isEmpty(); } /** * {@inheritdoc} */ public static function generateSampleValue(FieldDefinitionInterface $field_definition) { $values = parent::generateSampleValue($field_definition); $suffix_length = $field_definition->getSetting('max_length') - 7; foreach ($values as $key => $value) { $values[$key] = 'http://' . Unicode::substr($value, 0, $suffix_length); } return $values; } }