public function Developer::__construct in Apigee Edge 8
Developer constructor.
Parameters
array $values: An array of values to set, keyed by property name.
null|string $entity_type: Type of the entity. It is optional because constructor sets its default value.
\Apigee\Edge\Entity\EntityInterface|null $decorated: The SDK entity that this Drupal entity decorates.
Overrides EdgeEntityBase::__construct
File
- src/Entity/ Developer.php, line 121 
Class
- Developer
- Defines the Developer entity class.
Namespace
Drupal\apigee_edge\EntityCode
public function __construct(array $values, ?string $entity_type = NULL, EdgeEntityInterface $decorated = NULL) {
  $entity_type = $entity_type ?? 'developer';
  // Callers expect that the status is always either 'active' or 'inactive',
  // never null.
  if (!isset($values['status'])) {
    $values['status'] = static::STATUS_ACTIVE;
  }
  parent::__construct($values, $entity_type, $decorated);
  // Property must be initialized here because it is used as entity's
  // primary id in Drupal.
  // @see static::idProperties()
  // @see static::drupalEntityId()
  $this->originalEmail = $this->originalEmail ?? $this->decorated
    ->getEmail();
  $this->companiesCache = \Drupal::service('apigee_edge.controller.cache.developer_companies');
  // If we got a non-empty companies list from the API response then
  // cache it otherwise ignore it. See more details in getCompanies().
  if ($this->decorated
    ->getCompanies()) {
    $this->companiesCache
      ->saveCompanies([
      $this->decorated,
    ]);
  }
}