+++ /dev/null
-<?php
-
-namespace Drupal\Driver\Fields\Drupal8;
-
-use Drupal\Driver\Fields\FieldHandlerInterface;
-
-/**
- * Base class for field handlers in Drupal 8.
- */
-abstract class AbstractHandler implements FieldHandlerInterface {
- /**
- * Field storage definition.
- *
- * @var \Drupal\field\Entity\FieldStorageConfig
- */
- protected $fieldInfo = NULL;
-
- /**
- * Field configuration definition.
- *
- * @var \Drupal\field\Entity\FieldConfig
- */
- protected $fieldConfig = NULL;
-
- /**
- * Constructs an AbstractHandler object.
- *
- * @param \stdClass $entity
- * The simulated entity object containing field information.
- * @param string $entity_type
- * The entity type.
- * @param string $field_name
- * The field name.
- *
- * @throws \Exception
- * Thrown when the given field name does not exist on the entity.
- */
- public function __construct(\stdClass $entity, $entity_type, $field_name) {
- $entity_manager = \Drupal::entityManager();
- $fields = $entity_manager->getFieldStorageDefinitions($entity_type);
- $this->fieldInfo = $fields[$field_name];
-
- $bundle_key = $entity_manager->getDefinition($entity_type)->getKey('bundle');
- $bundle = !empty($entity->$bundle_key) ? $entity->$bundle_key : $entity_type;
-
- $fields = $entity_manager->getFieldDefinitions($entity_type, $bundle);
- if (empty($fields[$field_name])) {
- throw new \Exception(sprintf('The field "%s" does not exist on entity type "%s".', $field_name, $entity_type));
- }
- $this->fieldConfig = $fields[$field_name];
- }
-
-}