class SmartDateNormalizer in Smart Date 3.1.x
Same name and namespace in other branches
- 3.0.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
- 3.2.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
- 3.3.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
- 3.4.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
Enhances the smart date field so it can be denormalized.
Hierarchy
- class \Drupal\serialization\Normalizer\NormalizerBase implements \Symfony\Component\Serializer\SerializerAwareInterface, CacheableNormalizerInterface uses \Symfony\Component\Serializer\SerializerAwareTrait
- class \Drupal\hal\Normalizer\NormalizerBase implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface
- class \Drupal\hal\Normalizer\FieldItemNormalizer uses FieldableEntityNormalizerTrait, SerializedColumnNormalizerTrait
- class \Drupal\hal\Normalizer\TimestampItemNormalizer
- class \Drupal\smart_date\Normalizer\SmartDateNormalizer
- class \Drupal\hal\Normalizer\TimestampItemNormalizer
- class \Drupal\hal\Normalizer\FieldItemNormalizer uses FieldableEntityNormalizerTrait, SerializedColumnNormalizerTrait
- class \Drupal\hal\Normalizer\NormalizerBase implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface
Expanded class hierarchy of SmartDateNormalizer
1 file declares its use of SmartDateNormalizer
File
- src/
Normalizer/ SmartDateNormalizer.php, line 13
Namespace
Drupal\smart_date\NormalizerView source
class SmartDateNormalizer extends TimestampItemNormalizer {
/**
* The interface or class that this Normalizer supports.
*
* @var string
*/
protected $supportedInterfaceOrClass = SmartDateItem::class;
/**
* {@inheritdoc}
*/
public function denormalize($data, $class, $format = NULL, array $context = []) {
$field = parent::denormalize($data, $class, $format, $context);
// Repeat the denormalization of date string for end_value.
$timezone = new DateTimeZone('UTC');
$date = DateTime::createFromFormat($data['format'], $data['end_value'], $timezone);
$field
->get('end_value')
->setValue($date
->getTimestamp());
return $field;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheableNormalizerInterface:: |
constant | Name of key for bubbling cacheability metadata via serialization context. | ||
FieldableEntityNormalizerTrait:: |
protected | property | The entity field manager. | |
FieldableEntityNormalizerTrait:: |
protected | property | The entity type manager. | 1 |
FieldableEntityNormalizerTrait:: |
protected | property | The entity type repository. | |
FieldableEntityNormalizerTrait:: |
protected | function | Denormalizes entity data by denormalizing each field individually. | |
FieldableEntityNormalizerTrait:: |
protected | function | Determines the entity type ID to denormalize as. | |
FieldableEntityNormalizerTrait:: |
protected | function | Denormalizes the bundle property so entity creation can use it. | |
FieldableEntityNormalizerTrait:: |
protected | function | Returns the entity field manager. | |
FieldableEntityNormalizerTrait:: |
protected | function | Gets the entity type definition. | |
FieldableEntityNormalizerTrait:: |
protected | function | Returns the entity type manager. | |
FieldableEntityNormalizerTrait:: |
protected | function | Returns the entity type repository. | |
FieldItemNormalizer:: |
protected | function | Get a translated version of the field item instance. | |
FieldItemNormalizer:: |
public | function | 1 | |
NormalizerBase:: |
protected | property |
List of formats which supports (de-)normalization. Overrides NormalizerBase:: |
|
NormalizerBase:: |
protected | function | Adds cacheability if applicable. | |
NormalizerBase:: |
protected | function | Checks if the provided format is supported by this normalizer. | 1 |
NormalizerBase:: |
public | function | Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::supportsDenormalization() | 1 |
NormalizerBase:: |
public | function | 1 | |
SerializedColumnNormalizerTrait:: |
protected | function | Checks if there is a serialized string for a column. | |
SerializedColumnNormalizerTrait:: |
protected | function | Checks if the data contains string value for serialize column. | |
SerializedColumnNormalizerTrait:: |
protected | function | Gets the names of all properties the plugin treats as serialized data. | |
SerializedColumnNormalizerTrait:: |
protected | function | Gets the names of all serialized properties. | |
SmartDateNormalizer:: |
protected | property |
The interface or class that this Normalizer supports. Overrides TimestampItemNormalizer:: |
|
SmartDateNormalizer:: |
public | function |
Overrides FieldItemNormalizer:: |
|
TimestampItemNormalizer:: |
protected | function |
Build the field item value using the incoming data. Overrides FieldableEntityNormalizerTrait:: |
|
TimestampItemNormalizer:: |
protected | function |
Normalizes field values for an item. Overrides FieldItemNormalizer:: |