You are here

interface AvatarPreviewInterface in Avatar Kit 8

Provides an interface for the avatar preview entity.

Hierarchy

Expanded class hierarchy of AvatarPreviewInterface

All classes that implement AvatarPreviewInterface

3 files declare their use of AvatarPreviewInterface
AvatarKitGeneratorTest.php in tests/src/Functional/AvatarKitGeneratorTest.php
AvatarPreview.php in src/Entity/AvatarPreview.php
avatars.module in ./avatars.module

File

src/AvatarPreviewInterface.php, line 12

Namespace

Drupal\avatars
View source
interface AvatarPreviewInterface extends ContentEntityInterface {

  /**
   * Scopes.
   *
   * Scopes are used for cleanup operations. Dynamic avatar previews will always
   * expire according to dynamic_lifetime configuration. Only static avatar
   * previews marked with scope: temporary will expire automatically.
   *
   * Scopes exist due to computational complexity resulting from the calculating
   * user x site default avatar generator for each user.
   *
   * If a preference on any of these levels changes, then the avatar preview
   * will be expired.
   *
   * @see \Drupal\avatars\AvatarManager::syncAvatar
   */

  /**
   * Keep avatar preview temporarily.
   *
   * @var int
   *
   * @see avatars_cron().
   */
  const SCOPE_TEMPORARY = 0;

  /**
   * Whether the avatar preview was generated due to user preference.
   *
   * If the user changes its' avatar generator preference, the preview will be
   * purged immediately.
   *
   * @var int
   */
  const SCOPE_USER_SELECTED = 1;

  /**
   * Whether the avatar preview was generated due to failed first preference.
   *
   * May be user preference or default generator failed.
   *
   * If the site fallback avatar avatar generator preference changes, all
   * previews with this scope will be purged immediately.
   *
   * @var int
   */
  const SCOPE_SITE_FALLBACK = 3;

  /**
   * Get avatar generator plugin ID.
   *
   * @return string
   *   An avatar generator plugin ID.
   */
  public function getAvatarGeneratorId();

  /**
   * Set avatar generator plugin ID.
   *
   * @param string $avatar_generator
   *   An avatar generator plugin ID.
   *
   * @return \Drupal\avatars\AvatarPreviewInterface
   *   Return avatar preview for chaining.
   */
  public function setAvatarGeneratorId($avatar_generator);

  /**
   * Get associated user.
   *
   * @return \Drupal\user\UserInterface
   *   A user entity.
   */
  public function getUser();

  /**
   * Set associated user.
   *
   * @param \Drupal\user\UserInterface $user
   *   A user entity.
   *
   * @return \Drupal\avatars\AvatarPreviewInterface
   *   Return avatar preview for chaining.
   */
  public function setUser(UserInterface $user);

  /**
   * Get associated avatar file.
   *
   * @return \Drupal\file\FileInterface|null
   *   A file entity.
   */
  public function getAvatar();

  /**
   * Set associated avatar file.
   *
   * @param \Drupal\file\FileInterface|null $file
   *   A file entity, or NULL if the generator did not create an avatar.
   *
   * @return \Drupal\avatars\AvatarPreviewInterface
   *   Return avatar preview for chaining.
   */
  public function setAvatar(FileInterface $file = NULL);

  /**
   * Gets the creation time of the avatar preview.
   *
   * @return int
   *   Timestamp of the creation date.
   */
  public function getCreatedTime();

  /**
   * Sets the creation time of the avatar preview.
   *
   * @param int $timestamp
   *   Timestamp of the creation date.
   *
   * @return \Drupal\avatars\AvatarPreviewInterface
   *   Return avatar preview for chaining.
   */
  public function setCreatedTime($timestamp);

  /**
   * Gets the scope of the avatar preview.
   *
   * @return int
   *   Value of a \Drupal\avatars\AvatarPreviewInterface::SCOPE_* constant.
   */
  public function getScope();

  /**
   * Sets the scope of the avatar preview.
   *
   * @param int $scope
   *   Value of a \Drupal\avatars\AvatarPreviewInterface::SCOPE_* constant.
   *
   * @return \Drupal\avatars\AvatarPreviewInterface
   *   Return avatar preview for chaining.
   */
  public function setScope($scope);

  /**
   * Queries for an avatar preview and loads it.
   *
   * @param \Drupal\avatars\AvatarGeneratorInterface $avatar_generator
   *   An avatar generator instance.
   * @param \Drupal\user\UserInterface $user
   *   A user entity.
   *
   * @return \Drupal\avatars\AvatarPreviewInterface|false
   *   An avatar preview entity, or FALSE if it does not exist.
   */
  public static function getAvatarPreview(AvatarGeneratorInterface $avatar_generator, UserInterface $user);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
AvatarPreviewInterface::getAvatar public function Get associated avatar file. 1
AvatarPreviewInterface::getAvatarGeneratorId public function Get avatar generator plugin ID. 1
AvatarPreviewInterface::getAvatarPreview public static function Queries for an avatar preview and loads it. 1
AvatarPreviewInterface::getCreatedTime public function Gets the creation time of the avatar preview. 1
AvatarPreviewInterface::getScope public function Gets the scope of the avatar preview. 1
AvatarPreviewInterface::getUser public function Get associated user. 1
AvatarPreviewInterface::SCOPE_SITE_FALLBACK constant Whether the avatar preview was generated due to failed first preference.
AvatarPreviewInterface::SCOPE_TEMPORARY constant Keep avatar preview temporarily.
AvatarPreviewInterface::SCOPE_USER_SELECTED constant Whether the avatar preview was generated due to user preference.
AvatarPreviewInterface::setAvatar public function Set associated avatar file. 1
AvatarPreviewInterface::setAvatarGeneratorId public function Set avatar generator plugin ID. 1
AvatarPreviewInterface::setCreatedTime public function Sets the creation time of the avatar preview. 1
AvatarPreviewInterface::setScope public function Sets the scope of the avatar preview. 1
AvatarPreviewInterface::setUser public function Set associated user. 1
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::link Deprecated public function Deprecated way of generating a link to the entity. See toLink(). 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::url Deprecated public function Gets the public URL for this entity. 2
EntityInterface::urlInfo Deprecated public function Gets the URL object for the entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
FieldableEntityInterface::baseFieldDefinitions public static function Provides base field definitions for an entity type. 2
FieldableEntityInterface::bundleFieldDefinitions public static function Provides field definitions for a specific bundle. 2
FieldableEntityInterface::get public function Gets a field item list. 1
FieldableEntityInterface::getFieldDefinition public function Gets the definition of a contained field. 1
FieldableEntityInterface::getFieldDefinitions public function Gets an array of field definitions of all contained fields. 1
FieldableEntityInterface::getFields public function Gets an array of all field item lists. 1
FieldableEntityInterface::getTranslatableFields public function Gets an array of field item lists for translatable fields. 1
FieldableEntityInterface::hasField public function Determines whether the entity has a field with the given name. 1
FieldableEntityInterface::isValidationRequired public function Checks whether entity validation is required before saving the entity. 1
FieldableEntityInterface::onChange public function Reacts to changes to a field. 1
FieldableEntityInterface::set public function Sets a field value. 1
FieldableEntityInterface::setValidationRequired public function Sets whether entity validation is required before saving the entity. 1
FieldableEntityInterface::toArray public function Gets an array of all field values. Overrides EntityInterface::toArray
FieldableEntityInterface::validate public function Validates the currently set values. 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
RevisionableInterface::getLoadedRevisionId public function Gets the loaded Revision ID of the entity. 1
RevisionableInterface::getRevisionId public function Gets the revision identifier of the entity. 1
RevisionableInterface::isDefaultRevision public function Checks if this entity is the default revision. 1
RevisionableInterface::isLatestRevision public function Checks if this entity is the latest revision. 1
RevisionableInterface::isNewRevision public function Determines whether a new revision should be created on save. 1
RevisionableInterface::preSaveRevision public function Acts on a revision before it gets saved. 1
RevisionableInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 1
RevisionableInterface::updateLoadedRevisionId public function Updates the loaded Revision ID with the revision ID. 1
RevisionableInterface::wasDefaultRevision public function Checks whether the entity object was a default revision when it was saved. 1
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization. 1
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag. 1
TranslatableInterface::addTranslation public function Adds a new translation to the translatable object. 1
TranslatableInterface::getTranslation public function Gets a translation of the data. 1
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 1
TranslatableInterface::getUntranslated public function Returns the translatable object referring to the original language. 1
TranslatableInterface::hasTranslation public function Checks there is a translation for the given language code. 1
TranslatableInterface::hasTranslationChanges public function Determines if the current translation of the entity has unsaved changes. 1
TranslatableInterface::isDefaultTranslation public function Checks whether the translation is the default one. 1
TranslatableInterface::isNewTranslation public function Checks whether the translation is new. 1
TranslatableInterface::isTranslatable public function Returns the translation support status. 1
TranslatableInterface::removeTranslation public function Removes the translation identified by the given language code. 1
TranslatableRevisionableInterface::isDefaultTranslationAffectedOnly public function Checks if untranslatable fields should affect only the default translation. 1
TranslatableRevisionableInterface::isLatestTranslationAffectedRevision public function Checks whether this is the latest revision affecting this translation. 1
TranslatableRevisionableInterface::isRevisionTranslationAffected public function Checks whether the current translation is affected by the current revision. 1
TranslatableRevisionableInterface::isRevisionTranslationAffectedEnforced public function Checks if the revision translation affected flag value has been enforced. 1
TranslatableRevisionableInterface::setRevisionTranslationAffected public function Marks the current revision translation as affected. 1
TranslatableRevisionableInterface::setRevisionTranslationAffectedEnforced public function Enforces the revision translation affected flag value. 1