+++ /dev/null
-<?php
-
-namespace Drupal\entity_reference_revisions\TypedData;
-
-use Drupal\Core\Entity\TypedData\EntityDataDefinition;
-use Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface;
-
-/**
- * A typed data definition class for describing entities.
- */
-class EntityRevisionDataDefinition extends EntityDataDefinition implements EntityDataDefinitionInterface {
-
- /**
- * {@inheritdoc}
- */
- public static function createFromDataType($data_type) {
- $parts = explode(':', $data_type);
- if ($parts[0] != 'entity_revision') {
- throw new \InvalidArgumentException('Data type must be in the form of "entity_revision:ENTITY_TYPE:BUNDLE."');
- }
- $definition = static::create();
- // Set the passed entity type and bundle.
- if (isset($parts[1])) {
- $definition->setEntityTypeId($parts[1]);
- }
- if (isset($parts[2])) {
- $definition->setBundles(array($parts[2]));
- }
- return $definition;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getDataType() {
- $type = 'entity_revision';
- if ($entity_type = $this->getEntityTypeId()) {
- $type .= ':' . $entity_type;
- // Append the bundle only if we know it for sure and it is not the default
- // bundle.
- if (($bundles = $this->getBundles()) && count($bundles) == 1) {
- $bundle = reset($bundles);
- if ($bundle != $entity_type) {
- $type .= ':' . $bundle;
- }
- }
- }
- return $type;
- }
-}