fb61ad15940d4ac80a6458a7b10a51b5be932f1e
[yaffs-website] / web / modules / contrib / entity_reference_revisions / tests / modules / entity_composite_relationship_test / src / Entity / EntityTestCompositeRelationship.php
1 <?php
2
3 namespace Drupal\entity_composite_relationship_test\Entity;
4
5 use Drupal\Core\Entity\EntityTypeInterface;
6 use Drupal\Core\Field\BaseFieldDefinition;
7 use Drupal\entity_reference_revisions\EntityNeedsSaveInterface;
8 use Drupal\entity_reference_revisions\EntityNeedsSaveTrait;
9 use Drupal\entity_test\Entity\EntityTestMulRev;
10
11 /**
12  * Defines the test entity class.
13  *
14  * @ContentEntityType(
15  *   id = "entity_test_composite",
16  *   label = @Translation("Test entity - composite relationship"),
17  *   base_table = "entity_test_composite",
18  *   revision_table = "entity_test_composite_revision",
19  *   data_table = "entity_test_composite_field_data",
20  *   revision_data_table = "entity_test_composite_field_revision",
21  *   translatable = TRUE,
22  *   entity_revision_parent_type_field = "parent_type",
23  *   entity_revision_parent_id_field = "parent_id",
24  *   entity_revision_parent_field_name_field = "parent_field_name",
25  *   admin_permission = "administer entity_test composite relationship",
26  *   entity_keys = {
27  *     "id" = "id",
28  *     "uuid" = "uuid",
29  *     "revision" = "revision_id",
30  *     "bundle" = "type",
31  *     "label" = "name",
32  *     "langcode" = "langcode",
33  *   }
34  * )
35  */
36 class EntityTestCompositeRelationship extends EntityTestMulRev implements EntityNeedsSaveInterface {
37
38   use EntityNeedsSaveTrait;
39
40   /**
41    * {@inheritdoc}
42    */
43   public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
44     $fields = parent::baseFieldDefinitions($entity_type);
45     $fields['parent_id'] = BaseFieldDefinition::create('string')
46       ->setLabel(t('Parent ID'))
47       ->setDescription(t('The ID of the parent entity of which this entity is referenced.'));
48
49     $fields['parent_type'] = BaseFieldDefinition::create('string')
50       ->setLabel(t('Parent type'))
51       ->setDescription(t('The entity parent type to which this entity is referenced.'));
52
53     $fields['parent_field_name'] = BaseFieldDefinition::create('string')
54       ->setLabel(t('Parent field name'))
55       ->setDescription(t('The entity parent field name to which this entity is referenced.'));
56
57     return $fields;
58   }
59
60 }