You are here

interface MailCacheInterface in Simplenews 8.2

Same name and namespace in other branches
  1. 8 src/Mail/MailCacheInterface.php \Drupal\simplenews\Mail\MailCacheInterface
  2. 3.x src/Mail/MailCacheInterface.php \Drupal\simplenews\Mail\MailCacheInterface

Interface for a simplenews mail cache implementation.

Hierarchy

Expanded class hierarchy of MailCacheInterface

All classes that implement MailCacheInterface

File

src/Mail/MailCacheInterface.php, line 10

Namespace

Drupal\simplenews\Mail
View source
interface MailCacheInterface {

  /**
   * Return a cached element, if existing.
   *
   * Although group and key can be used to identify the requested cache, the
   * implementations are responsible to create a unique cache key themself using
   * the $mail. For example based on the node id and the language.
   *
   * @param \Drupal\simplenews\Mail\MailInterface $mail
   *   The mail object.
   * @param string $group
   *   Group of the cache key, which allows cache implementations to decide what
   *   they want to cache. Currently used groups:
   *     - data: Raw data, e.g. attachments.
   *     - build: Built and themed content, before personalizations like tokens.
   *     - final: The final returned data. Caching this means that newsletter
   *       can not be personalized anymore.
   * @param string $key
   *   Identifies the requested element, e.g. body or attachments.
   *
   * @return mixed
   *   The cached data or NULL.
   */
  public function get(MailInterface $mail, $group, $key);

  /**
   * Write an element to the cache.
   *
   * Although group and key can be used to identify the requested cache, the
   * implementations are responsible to create a unique cache key themself using
   * the $mail. For example based on the entity id and the language.
   *
   * @param \Drupal\simplenews\Mail\MailInterface $mail
   *   The mail object.
   * @param string $group
   *   Group of the cache key, which allows cache implementations to decide what
   *   they want to cache. Currently used groups:
   *     - data: Raw data, e.g. attachments.
   *     - build: Built and themed content, before personalizations like tokens.
   *     - final: The final returned data. Caching this means that newsletter
   *       can not be personalized anymore.
   * @param string $key
   *   Identifies the requested element, e.g. body or attachments.
   * @param mixed $data
   *   The data to be saved in the cache.
   */
  public function set(MailInterface $mail, $group, $key, $data);

}

Members

Namesort descending Modifiers Type Description Overrides
MailCacheInterface::get public function Return a cached element, if existing. 1
MailCacheInterface::set public function Write an element to the cache. 1