ckeditor_mentions-8.x-2.x-dev/modules/ckeditor_mentions_entity/src/Entity/Mention.php
modules/ckeditor_mentions_entity/src/Entity/Mention.php
<?php namespace Drupal\ckeditor_mentions_entity\Entity; use Drupal\ckeditor_mentions_entity\MentionInterface; use Drupal\Core\Entity\ContentEntityBase; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Field\BaseFieldDefinition; use Drupal\user\EntityOwnerTrait; /** * Defines the mention entity class. * * @ContentEntityType( * base_table = "mention", * entity_keys = { * "id" = "id", * "langcode" = "langcode", * "owner" = "uid", * "uuid" = "uuid", * }, * handlers = { * "views_data" = "Drupal\views\EntityViewsData", * }, * id = "mention", * label = @Translation("Mention"), * label_collection = @Translation("Mentions"), * label_count = @PluralTranslation( * plural = "@count mentions", * singular = "@count mention", * ), * label_plural = @Translation("mentions"), * label_singular = @Translation("mention") * ) */ class Mention extends ContentEntityBase implements MentionInterface { use EntityOwnerTrait; /** * {@inheritdoc} */ public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { /** @var \Drupal\Core\Field\BaseFieldDefinition[] $fields */ $fields = parent::baseFieldDefinitions($entity_type); $fields += static::ownerBaseFieldDefinitions($entity_type); $fields['parent'] = BaseFieldDefinition::create('dynamic_entity_reference') ->setDescription(t('The entity where the mention was made.')) ->setLabel(t('Parent entity')) ->setRequired(TRUE); $fields['target'] = BaseFieldDefinition::create('dynamic_entity_reference') ->setDescription(t('The mentioned entity.')) ->setLabel(t('Mentioned entity')) ->setRequired(TRUE); $fields['created'] = BaseFieldDefinition::create('created') ->setDescription(t('The time that the mention was created.')) ->setLabel(t('Mentioned on')); return $fields; } /** * {@inheritdoc} */ public function getCreatedTime() { return $this->get('created')->value; } /** * {@inheritdoc} */ public function getParentEntity() { return $this->get('parent')->entity; } /** * {@inheritdoc} */ public function getTargetEntity() { return $this->get('target')->entity; } /** * {@inheritdoc} */ public function setCreatedTime($timestamp) { return $this->set('created', $timestamp); } /** * {@inheritdoc} */ public function setParentEntity(ContentEntityInterface $entity) { return $this->set('parent', $entity); } /** * {@inheritdoc} */ public function setTargetEntity(ContentEntityInterface $entity) { return $this->set('target', $entity); } }