You are here

class SmartDateNormalizer in Smart Date 3.0.x

Same name and namespace in other branches
  1. 3.1.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
  2. 3.2.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
  3. 3.3.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer
  4. 3.4.x src/Normalizer/SmartDateNormalizer.php \Drupal\smart_date\Normalizer\SmartDateNormalizer

Enhances the smart date field so it can be denormalized.

Hierarchy

Expanded class hierarchy of SmartDateNormalizer

1 file declares its use of SmartDateNormalizer
SmartDateServiceProvider.php in src/SmartDateServiceProvider.php

File

src/Normalizer/SmartDateNormalizer.php, line 13

Namespace

Drupal\smart_date\Normalizer
View 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

Namesort descending Modifiers Type Description Overrides
CacheableNormalizerInterface::SERIALIZATION_CONTEXT_CACHEABILITY constant Name of key for bubbling cacheability metadata via serialization context.
FieldableEntityNormalizerTrait::$entityFieldManager protected property The entity field manager.
FieldableEntityNormalizerTrait::$entityTypeManager protected property The entity type manager. 1
FieldableEntityNormalizerTrait::$entityTypeRepository protected property The entity type repository.
FieldableEntityNormalizerTrait::denormalizeFieldData protected function Denormalizes entity data by denormalizing each field individually.
FieldableEntityNormalizerTrait::determineEntityTypeId protected function Determines the entity type ID to denormalize as.
FieldableEntityNormalizerTrait::extractBundleData protected function Denormalizes the bundle property so entity creation can use it.
FieldableEntityNormalizerTrait::getEntityFieldManager protected function Returns the entity field manager.
FieldableEntityNormalizerTrait::getEntityTypeDefinition protected function Gets the entity type definition.
FieldableEntityNormalizerTrait::getEntityTypeManager protected function Returns the entity type manager.
FieldableEntityNormalizerTrait::getEntityTypeRepository protected function Returns the entity type repository.
FieldItemNormalizer::createTranslatedInstance protected function Get a translated version of the field item instance.
FieldItemNormalizer::normalize public function 1
NormalizerBase::$format protected property List of formats which supports (de-)normalization. Overrides NormalizerBase::$format
NormalizerBase::addCacheableDependency protected function Adds cacheability if applicable.
NormalizerBase::checkFormat protected function Checks if the provided format is supported by this normalizer. 1
NormalizerBase::supportsDenormalization public function Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::supportsDenormalization() 1
NormalizerBase::supportsNormalization public function 1
SerializedColumnNormalizerTrait::checkForSerializedStrings protected function Checks if there is a serialized string for a column.
SerializedColumnNormalizerTrait::dataHasStringForSerializeColumn protected function Checks if the data contains string value for serialize column.
SerializedColumnNormalizerTrait::getCustomSerializedPropertyNames protected function Gets the names of all properties the plugin treats as serialized data.
SerializedColumnNormalizerTrait::getSerializedPropertyNames protected function Gets the names of all serialized properties.
SmartDateNormalizer::$supportedInterfaceOrClass protected property The interface or class that this Normalizer supports. Overrides TimestampItemNormalizer::$supportedInterfaceOrClass
SmartDateNormalizer::denormalize public function Overrides FieldItemNormalizer::denormalize
TimestampItemNormalizer::constructValue protected function Build the field item value using the incoming data. Overrides FieldableEntityNormalizerTrait::constructValue
TimestampItemNormalizer::normalizedFieldValues protected function Normalizes field values for an item. Overrides FieldItemNormalizer::normalizedFieldValues