xero_sync-8.x-1.x-dev/src/XeroSyncItemFinderInterface.php

src/XeroSyncItemFinderInterface.php
<?php

namespace Drupal\xero_sync;

use Drupal\Component\Plugin\PluginManagerInterface;
use Drupal\Core\Entity\EntityInterface;

/**
 * An interface for an itemFinder plugin manager service.
 *
 * It manages the discovery, instantiation and chained execution of itemFinder
 * plugins.
 *
 * @see plugin_api
 */
interface XeroSyncItemFinderInterface extends PluginManagerInterface {

  /**
   * Gets a Xero item corresponding to a Drupal entity.
   *
   * Item finder plugins that service the entity type are executed successively
   * according to priority, until one of them finds an item.
   *
   * @param \Drupal\Core\Entity\EntityInterface $entity
   *   The entity to find an item for.
   * @param bool $create
   *   Whether to use plugins that may create new items if they cannot find
   *   existing items.
   *
   * @return \Drupal\xero\TypedData\XeroComplexItemInterface|null
   *   A typed data representation of the Xero item, or NULL if not found.
   *   This may be a stub, e.g. constructed from a xero_sync field with
   *   just a guid, instead of loaded complete with all properties from Xero.
   */
  public function getItem(EntityInterface $entity, $create = FALSE);

  /**
   * Clear the static cache of found items.
   */
  public function clearCache();

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc