ResourceIdentifierTrait.php

Same filename and directory in other branches
  1. 9 core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
  2. 10 core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
  3. 11.x core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php

Namespace

Drupal\jsonapi\JsonApiResource

File

core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php

View source
<?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/drupal/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 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;
    }

}

Traits

Title Deprecated Summary
ResourceIdentifierTrait Used to associate an object like an exception to a particular resource.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.