You are here

class Main__1_1 in RESTful 7.2

Class Main__1_1 @package Drupal\restful_test\Plugin\resource

Plugin annotation


@Resource(
  name = "main:1.1",
  resource = "main",
  label = "Main",
  description = "Export the entity test 'main' bundle.",
  authenticationOptional = TRUE,
  dataProvider = {
    "entityType": "entity_test",
    "bundles": {
      "main"
    },
  },
  majorVersion = 1,
  minorVersion = 1
)

Hierarchy

Expanded class hierarchy of Main__1_1

File

tests/modules/restful_test/src/Plugin/resource/entity_test/main/v1/Main__1_1.php, line 33
Contains \Drupal\restful_test\Plugin\resource\entity_test\main\v1\Main__1_1.

Namespace

Drupal\restful_test\Plugin\resource\entity_test\main\v1
View source
class Main__1_1 extends Main__1_0 implements ResourceInterface {

  /**
   * Overrides ResourceEntity::publicFields().
   */
  protected function publicFields() {
    $public_fields = parent::publicFields();
    $public_fields['text_single'] = array(
      'property' => 'text_single',
    );
    $public_fields['text_multiple'] = array(
      'property' => 'text_multiple',
      'discovery' => array(
        'info' => array(
          'label' => t('Text multiple'),
          'description' => t('This field holds different text inputs.'),
        ),
        'data' => array(
          'type' => 'string',
          'cardinality' => FIELD_CARDINALITY_UNLIMITED,
        ),
        'form_element' => array(
          'type' => 'textfield',
          'size' => 255,
          'placeholder' => t('This is helpful.'),
        ),
      ),
    );
    $public_fields['text_single_processing'] = array(
      'property' => 'text_single_processing',
      'sub_property' => 'value',
    );
    $public_fields['text_multiple_processing'] = array(
      'property' => 'text_multiple_processing',
      'sub_property' => 'value',
    );
    $public_fields['entity_reference_single'] = array(
      'property' => 'entity_reference_single',
      'wrapper_method' => 'getIdentifier',
    );
    $public_fields['entity_reference_multiple'] = array(
      'property' => 'entity_reference_multiple',
      'wrapper_method' => 'getIdentifier',
    );

    // Single entity reference field with "resource".
    $public_fields['entity_reference_single_resource'] = array(
      'property' => 'entity_reference_single',
      'resource' => array(
        'name' => 'main',
        'majorVersion' => 1,
        'minorVersion' => 1,
      ),
    );

    // Multiple entity reference field with "resource".
    $public_fields['entity_reference_multiple_resource'] = array(
      'property' => 'entity_reference_multiple',
      'resource' => array(
        'name' => 'main',
        'majorVersion' => 1,
        'minorVersion' => 1,
      ),
    );
    $public_fields['term_single'] = array(
      'property' => 'term_single',
      'sub_property' => 'tid',
    );
    $public_fields['term_multiple'] = array(
      'property' => 'term_multiple',
      'sub_property' => 'tid',
    );
    $public_fields['file_single'] = array(
      'property' => 'file_single',
      'process_callbacks' => array(
        array(
          $this,
          'getFilesId',
        ),
      ),
    );
    $public_fields['file_multiple'] = array(
      'property' => 'file_multiple',
      'process_callbacks' => array(
        array(
          $this,
          'getFilesId',
        ),
      ),
    );
    $public_fields['image_single'] = array(
      'property' => 'image_single',
      'process_callbacks' => array(
        array(
          $this,
          'getFilesId',
        ),
      ),
    );
    $public_fields['image_multiple'] = array(
      'property' => 'image_multiple',
      'process_callbacks' => array(
        array(
          $this,
          'getFilesId',
        ),
      ),
    );
    return $public_fields;
  }

  /**
   * Return the files ID from the multiple files array.
   *
   * Since by default Entity API does not allow to get the file ID, we extract
   * it ourself in this preprocess callback.
   *
   * @param array $value
   *   Array of files array as retrieved by the wrapper.
   *
   * @return int
   *   Array with file IDs.
   */
  public function getFilesId(array $value) {
    if (ResourceFieldBase::isArrayNumeric($value)) {
      $return = array();
      foreach ($value as $file_array) {
        $return[] = $this
          ->getFilesId($file_array);
      }
      return $return;
    }
    return empty($value['fid']) ? NULL : $value['fid'];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigurablePluginTrait::$instanceConfiguration protected property Plugin instance configuration.
ConfigurablePluginTrait::calculateDependencies public function
ConfigurablePluginTrait::getConfiguration public function
ConfigurablePluginTrait::setConfiguration public function
Main__1_1::getFilesId public function Return the files ID from the multiple files array.
Main__1_1::publicFields protected function Overrides ResourceEntity::publicFields(). Overrides ResourceEntity::publicFields 1
Resource::$authenticationManager protected property The authentication manager.
Resource::$dataProvider protected property The data provider.
Resource::$enabled protected property Indicates if the resource is enabled.
Resource::$fieldDefinitions protected property The field definition object.
Resource::$path protected property The requested path.
Resource::$request protected property The current request.
Resource::access public function Determine if user can access the handler. Overrides ResourceInterface::access 1
Resource::accessByAllowOrigin protected function Checks access based on the referer header and the allowOrigin setting.
Resource::controllersInfo public function Gets the controllers. Overrides ResourceInterface::controllersInfo 6
Resource::create public function Basic implementation for create. Overrides ResourceInterface::create
Resource::defaultConfiguration public function Overrides ConfigurablePluginTrait::defaultConfiguration
Resource::disable public function Disable the resource. Overrides ResourceInterface::disable
Resource::discover public function Discovery controller callback. Overrides ResourceInterface::discover
Resource::doDelete public function Shorthand method to perform a quick DELETE request. Overrides ResourceInterface::doDelete
Resource::doGet public function Shorthand method to perform a quick GET request. Overrides ResourceInterface::doGet
Resource::doPatch public function Shorthand method to perform a quick PATCH request. Overrides ResourceInterface::doPatch
Resource::doPost public function Shorthand method to perform a quick POST request. Overrides ResourceInterface::doPost
Resource::doPut public function Shorthand method to perform a quick PUT request. Overrides ResourceInterface::doPut
Resource::doWrite private function
Resource::enable public function Enable the resource. Overrides ResourceInterface::enable
Resource::getAccount public function Get the user from for request. Overrides ResourceInterface::getAccount
Resource::getControllerFromPath public function Return the controller for a given path. Overrides ResourceInterface::getControllerFromPath
Resource::getControllers public function Gets the controllers for this resource. Overrides ResourceInterface::getControllers
Resource::getDataProvider public function Gets the data provider. Overrides ResourceInterface::getDataProvider
Resource::getFieldDefinitions public function Gets the field definitions. Overrides ResourceInterface::getFieldDefinitions
Resource::getPath public function Gets the path of the resource. Overrides ResourceInterface::getPath
Resource::getRequest public function Get the request object. Overrides ResourceInterface::getRequest
Resource::getResourceMachineName public function Gets the resource machine name. Overrides ResourceInterface::getResourceMachineName
Resource::getResourceName public function Gets the resource name. Overrides ResourceInterface::getResourceName
Resource::getUrl public function Helper method; Get the URL of the resource and query strings. Overrides ResourceInterface::getUrl
Resource::getVersion public function Return array keyed with the major and minor version of the resource. Overrides ResourceInterface::getVersion
Resource::index public function Basic implementation for listing. Overrides ResourceInterface::index 1
Resource::initAuthenticationManager protected function Initializes the authentication manager and adds the appropriate providers.
Resource::isEnabled public function Checks if the resource is enabled. Overrides ResourceInterface::isEnabled
Resource::preflight protected function Adds the Allowed-Origin headers.
Resource::process public function Controller function that passes the data along and executes right action. Overrides ResourceInterface::process
Resource::remove public function Basic implementation for update. Overrides ResourceInterface::remove
Resource::replace public function Basic implementation for update. Overrides ResourceInterface::replace
Resource::setAccount public function Overrides ResourceInterface::setAccount
Resource::setDataProvider public function Sets the data provider. Overrides ResourceInterface::setDataProvider
Resource::setFieldDefinitions public function Sets the field definitions. Overrides ResourceInterface::setFieldDefinitions
Resource::setPath public function Sets the path of the resource. Overrides ResourceInterface::setPath
Resource::setPluginDefinition public function Sets the plugin definition to the provided array. Overrides ResourceInterface::setPluginDefinition
Resource::setRequest public function Sets the request object. Overrides ResourceInterface::setRequest
Resource::switchUserBack public function Switches the user back from the original user for the session. Overrides ResourceInterface::switchUserBack 1
Resource::update public function Basic implementation for update. Overrides ResourceInterface::update
Resource::versionedUrl public function Gets a resource URL based on the current version. Overrides ResourceInterface::versionedUrl
Resource::view public function Basic implementation for view. Overrides ResourceInterface::view
ResourceEntity::$bundles protected property The entity bundles.
ResourceEntity::$entityType protected property The entity type.
ResourceEntity::dataProviderClassName protected function Data provider class. Overrides Resource::dataProviderClassName 3
ResourceEntity::dataProviderFactory public function Data provider factory. Overrides Resource::dataProviderFactory
ResourceEntity::getBundles public function Gets the entity bundle.
ResourceEntity::getEntitySelf public function Get the "self" url.
ResourceEntity::getEntityType public function Gets the entity type.
ResourceEntity::processPublicFields protected function Get the public fields with the default values applied to them. Overrides Resource::processPublicFields 2
ResourceEntity::viewModeFields protected function Get the public fields with default values based on view mode information.
ResourceEntity::__construct public function Constructs a Drupal\Component\Plugin\PluginBase object. Overrides Resource::__construct 2
ResourceInterface::IDS_SEPARATOR constant The string that separates multiple ids.