diff core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php @ 18:af1871eacc83

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:33:08 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php	Thu May 09 15:33:08 2019 +0100
@@ -0,0 +1,56 @@
+<?php
+
+namespace Drupal\jsonapi\JsonApiResource;
+
+/**
+ * Used to associate an object like an exception to a particular resource.
+ *
+ * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
+ *   may change at any time and could break any dependencies on it.
+ *
+ * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see jsonapi.api.php
+ *
+ * @see \Drupal\jsonapi\JsonApiResource\ResourceIdentifierInterface
+ */
+trait ResourceIdentifierTrait {
+
+  /**
+   * A ResourceIdentifier object.
+   *
+   * @var \Drupal\jsonapi\JsonApiResource\ResourceIdentifier
+   */
+  protected $resourceIdentifier;
+
+  /**
+   * The JSON:API resource type of of the identified resource object.
+   *
+   * @var \Drupal\jsonapi\ResourceType\ResourceType
+   */
+  protected $resourceType;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getId() {
+    return $this->resourceIdentifier->getId();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getTypeName() {
+    return $this->resourceIdentifier->getTypeName();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getResourceType() {
+    if (!isset($this->resourceType)) {
+      $this->resourceType = $this->resourceIdentifier->getResourceType();
+    }
+    return $this->resourceType;
+  }
+
+}