class DateDayComputed in Date time day 8
A computed property for date of date day field items.
Required settings (below the definition's 'settings' key) are:
- date source: The date property containing the to be computed date.
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements PluginInspectionInterface, TypedDataInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait- class \Drupal\date_time_day\DateDayComputed
 
Expanded class hierarchy of DateDayComputed
1 file declares its use of DateDayComputed
- DateTimeDayItem.php in src/Plugin/ Field/ FieldType/ DateTimeDayItem.php 
File
- src/DateDayComputed.php, line 17 
Namespace
Drupal\date_time_dayView source
class DateDayComputed extends TypedData {
  /**
   * Cached computed date.
   *
   * @var \DateTime|null
   */
  protected $date = NULL;
  /**
   * {@inheritdoc}
   */
  public function __construct(DataDefinitionInterface $definition, $name = NULL, TypedDataInterface $parent = NULL) {
    parent::__construct($definition, $name, $parent);
    if (!$definition
      ->getSetting('date source')) {
      throw new \InvalidArgumentException("The definition's 'date source' key has to specify the name of the date property to be computed.");
    }
  }
  /**
   * {@inheritdoc}
   */
  public function getValue($langcode = NULL) {
    if ($this->date !== NULL) {
      return $this->date;
    }
    /** @var \Drupal\Core\Field\FieldItemInterface $item */
    $item = $this
      ->getParent();
    $value = $item->{$this->definition
      ->getSetting('date source')};
    $storage_format = DateTimeItemInterface::DATE_STORAGE_FORMAT;
    try {
      $date = DrupalDateTime::createFromFormat($storage_format, $value, DateTimeItemInterface::STORAGE_TIMEZONE);
      if ($date instanceof DrupalDateTime && !$date
        ->hasErrors()) {
        $this->date = $date;
        // The format did not include an explicit time portion, then the
        // time will be set from the current time instead. For consistency, we
        // set the time to 12:00:00 UTC for date-only fields. This is used so
        // that the local date portion is the same, across nearly all time
        // zones.
        // @see http://php.net/manual/en/datetime.createfromformat.php
        $this->date
          ->setDefaultDateTime();
      }
    } catch (\Exception $e) {
      // @todo Handle this.
    }
    return $this->date;
  }
  /**
   * {@inheritdoc}
   */
  public function setValue($value, $notify = TRUE) {
    $this->date = $value;
    // Notify the parent of any changes.
    if ($notify && isset($this->parent)) {
      $this->parent
        ->onChange($this->name);
    }
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DateDayComputed:: | protected | property | Cached computed date. | |
| DateDayComputed:: | public | function | Gets the data value. Overrides TypedData:: | |
| DateDayComputed:: | public | function | Sets the data value. Overrides TypedData:: | |
| DateDayComputed:: | public | function | Constructs a TypedData object given its definition and context. Overrides TypedData:: | |
| DependencySerializationTrait:: | protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| DependencySerializationTrait:: | protected | property | An array of service IDs keyed by property name used for serialization. | |
| DependencySerializationTrait:: | public | function | 1 | |
| DependencySerializationTrait:: | public | function | 2 | |
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | |
| TypedData:: | protected | property | The data definition. | 1 | 
| TypedData:: | protected | property | The property name. | |
| TypedData:: | protected | property | The parent typed data object. | |
| TypedData:: | public | function | Applies the default value. Overrides TypedDataInterface:: | 3 | 
| TypedData:: | public static | function | Constructs a TypedData object given its definition and context. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Gets a list of validation constraints. Overrides TypedDataInterface:: | 9 | 
| TypedData:: | public | function | Gets the data definition. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Returns the name of a property or item. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Returns the parent data structure; i.e. either complex data or a list. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | |
| TypedData:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| TypedData:: | public | function | Returns the property path of the data. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Returns the root of the typed data tree. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Returns a string representation of the data. Overrides TypedDataInterface:: | 6 | 
| TypedData:: | public | function | Sets the context of a property or item via a context aware parent. Overrides TypedDataInterface:: | |
| TypedData:: | public | function | Validates the currently set data value. Overrides TypedDataInterface:: | |
| TypedDataTrait:: | protected | property | The typed data manager used for creating the data types. | |
| TypedDataTrait:: | public | function | Gets the typed data manager. | 2 | 
| TypedDataTrait:: | public | function | Sets the typed data manager. | 2 | 
