interface ProviderInterface

ProviderInterface.

Hierarchy

  • interface \Drupal\bootstrap\Plugin\Provider\ProviderInterface extends \Drupal\Component\Plugin\PluginInspectionInterface

Expanded class hierarchy of ProviderInterface

All classes that implement ProviderInterface

Related topics

7 files declare their use of ProviderInterface
CdnCacheTtlAssets.php in src/Plugin/Setting/Advanced/Cdn/CdnCacheTtlAssets.php
CdnCacheTtlBase.php in src/Plugin/Setting/Advanced/Cdn/CdnCacheTtlBase.php
CdnCacheTtlLibrary.php in src/Plugin/Setting/Advanced/Cdn/CdnCacheTtlLibrary.php
CdnCacheTtlThemes.php in src/Plugin/Setting/Advanced/Cdn/CdnCacheTtlThemes.php
CdnCacheTtlVersions.php in src/Plugin/Setting/Advanced/Cdn/CdnCacheTtlVersions.php

... See full list

Namespace

Drupal\bootstrap\Plugin\Provider
Source
interface ProviderInterface extends PluginInspectionInterface, DerivativeInspectionInterface {

  /**
   * Defines the "assets" cache type.
   *
   * @var string
   */
  const CACHE_ASSETS = 'assets';

  /**
   * Defines the "library" cache type.
   *
   * @var string
   */
  const CACHE_LIBRARY = 'library';

  /**
   * Defines the "themes" cache type.
   *
   * @var string
   */
  const CACHE_THEMES = 'themes';

  /**
   * Defines the "versions" cache type.
   *
   * @var string
   */
  const CACHE_VERSIONS = 'versions';

  /**
   * Defines the "forever" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_FOREVER = -1;

  /**
   * Defines the "never" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_NEVER = 0;

  /**
   * Defines the "one day" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_ONE_DAY = 86400;

  /**
   * Defines the "one week" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_ONE_WEEK = 604800;

  /**
   * Defines the "one month" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_ONE_MONTH = 2630000;

  /**
   * Defines the "three months" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_THREE_MONTHS = 7776000;

  /**
   * Defines the "six months" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_SIX_MONTHS = 15780000;

  /**
   * Defines the "one year" time-to-live (TTL) value.
   *
   * @var int
   */
  const TTL_ONE_YEAR = 31536000;

  /**
   * Alters the framework library.
   *
   * @param array $framework
   *   The framework library, passed by reference.
   */
  public function alterFrameworkLibrary(array &$framework);

  /**
   * Retrieves the cache time-to-live (TTL) value.
   *
   * @param string $type
   *   The type of cache TTL value. Can be one of the following types:
   *   - \Drupal\bootstrap\Plugin\Provider\ProviderInterface::CACHE_ASSETS
   *   - \Drupal\bootstrap\Plugin\Provider\ProviderInterface::CACHE_LIBRARY
   *   - \Drupal\bootstrap\Plugin\Provider\ProviderInterface::CACHE_THEMES
   *   - \Drupal\bootstrap\Plugin\Provider\ProviderInterface::CACHE_VERSIONS
   *   If an invalid type was specified, the resulting TTL value will be 0.
   *
   * @return int
   *   The cache TTL value, in seconds.
   */
  public function getCacheTtl($type);

  /**
   * Retrieves the assets from the CDN, if any.
   *
   * @param string $version
   *   Optional. The version of assets to return. If not set, the setting
   *   stored in the active theme will be used.
   * @param string $theme
   *   Optional. A specific set of themed assets to return, if any. If not set,
   *   the setting stored in the active theme will be used.
   *
   * @return \Drupal\bootstrap\Plugin\Provider\CdnAssets
   *   A CdnAssets object.
   */
  public function getCdnAssets($version = NULL, $theme = NULL);

  /**
   * Retrieves any CDN ProviderException objects triggered during discovery.
   *
   * Note: this is primarily used as a way to communicate in the UI that
   * the discovery of the CDN Provider's assets failed.
   *
   * @param bool $reset
   *   Flag indicating whether to remove the Exceptions once they have been
   *   retrieved.
   *
   * @return \Drupal\bootstrap\Plugin\Provider\ProviderException[]
   *   An array of CDN ProviderException objects, if any.
   */
  public function getCdnExceptions($reset = TRUE);

  /**
   * Retrieves the currently set CDN Provider theme.
   *
   * @return string
   *   The currently set CDN Provider theme.
   */
  public function getCdnTheme();

  /**
   * Retrieves the themes supported by the CDN Provider.
   *
   * @param string $version
   *   Optional. A specific version of themes to retrieve. If not set, the
   *   currently set CDN version of the active theme will be used.
   *
   * @return \Drupal\bootstrap\Plugin\Provider\CdnAssets[]
   *   An associative array of CDN assets, similar to what is returned in
   *   \Drupal\bootstrap\Plugin\Provider\ProviderBase::getCdnAssets(), but
   *   keyed by individual theme names.
   */
  public function getCdnThemes($version = NULL);

  /**
   * Retrieves the currently set CDN Provider version.
   *
   * @return string
   *   The currently set CDN Provider version.
   */
  public function getCdnVersion();

  /**
   * Retrieves the versions supported by the CDN Provider.
   *
   * @return array|false
   *   An associative array of versions, also keyed by the version.
   */
  public function getCdnVersions();

  /**
   * Retrieves the provider description.
   *
   * @return string
   *   The provider description.
   */
  public function getDescription();

  /**
   * Retrieves the provider human-readable label.
   *
   * @return string
   *   The provider human-readable label.
   */
  public function getLabel();

  /**
   * Removes any cached data the CDN Provider may have.
   */
  public function resetCache();

  /**
   * Indicates whether the CDN Provider supports themes.
   *
   * @return bool
   *   TRUE or FALSE
   */
  public function supportsThemes();

  /**
   * Indicates whether the CDN Provider supports versions.
   *
   * @return bool
   *   TRUE or FALSE
   */
  public function supportsVersions();

  /**
   * Tracks any newly generated CDN exceptions generated during a callable.
   *
   * @param callable $callable
   *   The callback to execute.
   *
   * @return \Drupal\bootstrap\Plugin\Provider\ProviderException[]
   *   An array of newly generated ProviderException objects, if any.
   */
  public function trackCdnExceptions(callable $callable);

  /****************************************************************************
   *
   * Deprecated methods
   *
   ***************************************************************************/

  /**
   * Retrieves the API URL if set.
   *
   * @return string
   *   The API URL.
   *
   * @deprecated in 8.x-3.18, will be removed in a future release. There is no
   *   replacement for this functionality.
   */
  public function getApi();

  /**
   * Retrieves Provider assets for the active provider, if any.
   *
   * @param string|array $types
   *   The type of asset to retrieve: "css" or "js", defaults to an array
   *   array containing both if not set.
   *
   * @return array
   *   If $type is a string or an array with only one (1) item in it, the
   *   assets are returned as an indexed array of files. Otherwise, an
   *   associative array is returned keyed by the type.
   *
   * @deprecated in 8.x-3.18, will be removed in a future release.
   *
   * @see \Drupal\bootstrap\Plugin\Provider\ProviderInterface::getCdnAssets()
   */
  public function getAssets($types = NULL);

  /**
   * Retrieves the themes supported by the CDN Provider.
   *
   * @return array
   *   An array of themes. If the CDN Provider does not support any it will
   *   just be an empty array.
   *
   * @deprecated in 8.x-3.18, will be removed in a future release.
   *
   * @see \Drupal\bootstrap\Plugin\Provider\ProviderInterface::getCdnThemes()
   */
  public function getThemes();

  /**
   * Retrieves the versions supported by the CDN Provider.
   *
   * @return array
   *   An array of versions. If the CDN Provider does not support any it will
   *   just be an empty array.
   *
   * @deprecated in 8.x-3.18, will be removed in a future release.
   *
   * @see \Drupal\bootstrap\Plugin\Provider\ProviderInterface::getCdnVersions()
   */
  public function getVersions();

  /**
   * Flag indicating that the API data parsing failed.
   *
   * @return bool
   *   TRUE or FALSE
   *
   * @deprecated in 8.x-3.18, will be removed in a future release. There is no
   *   1:1 replacement for this functionality.
   *
   * @see \Drupal\bootstrap\Plugin\Provider\ProviderInterface::getCdnExceptions()
   */
  public function hasError();

  /**
   * Flag indicating that the API data was manually imported.
   *
   * @return bool
   *   TRUE or FALSE
   *
   * @deprecated in 8.x-3.18, will be removed in a future release. There is no
   *   replacement for this functionality.
   */
  public function isImported();

  /**
   * Processes the provider plugin definition upon discovery.
   *
   * @param array $definition
   *   The provider plugin definition.
   * @param string $plugin_id
   *   The plugin identifier.
   *
   * @deprecated in 8.x-3.18, will be removed in a future release. There is no
   *   replacement for this functionality.
   */
  public function processDefinition(array &$definition, $plugin_id);

  /**
   * Processes the provider plugin definition upon discovery.
   *
   * @param array $json
   *   The JSON data retrieved from the API request.
   * @param array $definition
   *   The provider plugin definition.
   *
   * @deprecated in 8.x-3.18, will be removed in a future release. There is no
   *   replacement for this functionality.
   */
  public function processApi(array $json, array &$definition);

}

Members

Contains filters are case sensitive
Name Modifiers Type Description
ProviderInterface::alterFrameworkLibrary public function Alters the framework library.
ProviderInterface::CACHE_ASSETS constant Defines the "assets" cache type.
ProviderInterface::CACHE_LIBRARY constant Defines the "library" cache type.
ProviderInterface::CACHE_THEMES constant Defines the "themes" cache type.
ProviderInterface::CACHE_VERSIONS constant Defines the "versions" cache type.
ProviderInterface::getApi Deprecated public function Retrieves the API URL if set.
ProviderInterface::getAssets Deprecated public function Retrieves Provider assets for the active provider, if any.
ProviderInterface::getCacheTtl public function Retrieves the cache time-to-live (TTL) value.
ProviderInterface::getCdnAssets public function Retrieves the assets from the CDN, if any.
ProviderInterface::getCdnExceptions public function Retrieves any CDN ProviderException objects triggered during discovery.
ProviderInterface::getCdnTheme public function Retrieves the currently set CDN Provider theme.
ProviderInterface::getCdnThemes public function Retrieves the themes supported by the CDN Provider.
ProviderInterface::getCdnVersion public function Retrieves the currently set CDN Provider version.
ProviderInterface::getCdnVersions public function Retrieves the versions supported by the CDN Provider.
ProviderInterface::getDescription public function Retrieves the provider description.
ProviderInterface::getLabel public function Retrieves the provider human-readable label.
ProviderInterface::getThemes Deprecated public function Retrieves the themes supported by the CDN Provider.
ProviderInterface::getVersions Deprecated public function Retrieves the versions supported by the CDN Provider.
ProviderInterface::hasError Deprecated public function Flag indicating that the API data parsing failed.
ProviderInterface::isImported Deprecated public function Flag indicating that the API data was manually imported.
ProviderInterface::processApi Deprecated public function Processes the provider plugin definition upon discovery.
ProviderInterface::processDefinition Deprecated public function Processes the provider plugin definition upon discovery.
ProviderInterface::resetCache public function Removes any cached data the CDN Provider may have.
ProviderInterface::supportsThemes public function Indicates whether the CDN Provider supports themes.
ProviderInterface::supportsVersions public function Indicates whether the CDN Provider supports versions.
ProviderInterface::trackCdnExceptions public function Tracks any newly generated CDN exceptions generated during a callable.
ProviderInterface::TTL_FOREVER constant Defines the "forever" time-to-live (TTL) value.
ProviderInterface::TTL_NEVER constant Defines the "never" time-to-live (TTL) value.
ProviderInterface::TTL_ONE_DAY constant Defines the "one day" time-to-live (TTL) value.
ProviderInterface::TTL_ONE_MONTH constant Defines the "one month" time-to-live (TTL) value.
ProviderInterface::TTL_ONE_WEEK constant Defines the "one week" time-to-live (TTL) value.
ProviderInterface::TTL_ONE_YEAR constant Defines the "one year" time-to-live (TTL) value.
ProviderInterface::TTL_SIX_MONTHS constant Defines the "six months" time-to-live (TTL) value.
ProviderInterface::TTL_THREE_MONTHS constant Defines the "three months" time-to-live (TTL) value.