eca-1.0.x-dev/modules/content/src/Event/ContentEntityRevisionCreate.php
modules/content/src/Event/ContentEntityRevisionCreate.php
<?php
namespace Drupal\eca_content\Event;
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\eca\Service\ContentEntityTypes;
/**
* Provides an event when a content entity revision is being created.
*
* @internal
* This class is not meant to be used as a public API. It is subject for name
* change or may be removed completely, also on minor version updates.
*
* @package Drupal\eca_content\Event
*/
class ContentEntityRevisionCreate extends ContentEntityBaseContentEntity {
/**
* The original entity.
*
* @var \Drupal\Core\Entity\ContentEntityInterface
*/
protected ContentEntityInterface $original;
/**
* Flag to keep untranslatable fields.
*
* @var bool
*/
protected bool $keepUntranslatableFields;
/**
* Constructor.
*
* @param \Drupal\Core\Entity\ContentEntityInterface $new_revision
* The new revision.
* @param \Drupal\eca\Service\ContentEntityTypes $entity_types
* The entity types.
* @param \Drupal\Core\Entity\ContentEntityInterface $entity
* The original entity.
* @param bool|null $keep_untranslatable_fields
* The flag to keep untranslatable fields.
*/
public function __construct(ContentEntityInterface $new_revision, ContentEntityTypes $entity_types, ContentEntityInterface $entity, ?bool $keep_untranslatable_fields) {
parent::__construct($entity, $entity_types);
$this->entity = $new_revision;
$this->original = $entity;
$this->keepUntranslatableFields = (bool) $keep_untranslatable_fields;
}
/**
* Gets the new revision.
*
* @return \Drupal\Core\Entity\ContentEntityInterface
* The new revision.
*/
public function getNewRevision(): ContentEntityInterface {
return $this->entity;
}
/**
* Get the original entity.
*
* @return \Drupal\Core\Entity\ContentEntityInterface
* The original entity.
*/
public function getOriginalEntity(): ContentEntityInterface {
return $this->original;
}
/**
* Gets the flag to keep untranslatable fields.
*
* @return bool
* The flag to keep untranslatable fields.
*/
public function isKeepUntranslatableFields(): bool {
return $this->keepUntranslatableFields;
}
}
