Upgraded drupal core with security updates
[yaffs-website] / web / core / lib / Drupal / Core / Field / FieldStorageDefinitionEventSubscriberTrait.php
1 <?php
2
3 namespace Drupal\Core\Field;
4
5 /**
6  * Helper methods for FieldStorageDefinitionListenerInterface.
7  *
8  * This allows a class implementing FieldStorageDefinitionListenerInterface to
9  * subscribe and react to field storage definition events.
10  *
11  * @see \Symfony\Component\EventDispatcher\EventSubscriberInterface
12  * @see \Drupal\Core\Field\FieldStorageDefinitionListenerInterface
13  */
14 trait FieldStorageDefinitionEventSubscriberTrait {
15
16   /**
17    * Returns the subscribed events.
18    *
19    * @return array
20    *   An array of subscribed event names.
21    *
22    * @see \Symfony\Component\EventDispatcher\EventSubscriberInterface::getSubscribedEvents()
23    */
24   public static function getFieldStorageDefinitionEvents() {
25     $event = ['onFieldStorageDefinitionEvent', 100];
26     $events[FieldStorageDefinitionEvents::CREATE][] = $event;
27     $events[FieldStorageDefinitionEvents::UPDATE][] = $event;
28     $events[FieldStorageDefinitionEvents::DELETE][] = $event;
29     return $events;
30   }
31
32   /**
33    * Listener method for any field storage definition event.
34    *
35    * @param \Drupal\Core\Field\FieldStorageDefinitionEvent $event
36    *   The field storage definition event object.
37    * @param string $event_name
38    *   The event name.
39    */
40   public function onFieldStorageDefinitionEvent(FieldStorageDefinitionEvent $event, $event_name) {
41     switch ($event_name) {
42       case FieldStorageDefinitionEvents::CREATE:
43         $this->onFieldStorageDefinitionCreate($event->getFieldStorageDefinition());
44         break;
45
46       case FieldStorageDefinitionEvents::UPDATE:
47         $this->onFieldStorageDefinitionUpdate($event->getFieldStorageDefinition(), $event->getOriginal());
48         break;
49
50       case FieldStorageDefinitionEvents::DELETE:
51         $this->onFieldStorageDefinitionDelete($event->getFieldStorageDefinition());
52         break;
53     }
54   }
55
56   /**
57    * {@inheritdoc}
58    */
59   public function onFieldStorageDefinitionCreate(FieldStorageDefinitionInterface $storage_definition) {
60   }
61
62   /**
63    * {@inheritdoc}
64    */
65   public function onFieldStorageDefinitionUpdate(FieldStorageDefinitionInterface $storage_definition, FieldStorageDefinitionInterface $original) {
66   }
67
68   /**
69    * {@inheritdoc}
70    */
71   public function onFieldStorageDefinitionDelete(FieldStorageDefinitionInterface $storage_definition) {
72   }
73
74 }