You are here

interface GroupInterface in Group 2.0.x

Same name and namespace in other branches
  1. 8 src/Entity/GroupInterface.php \Drupal\group\Entity\GroupInterface

Provides an interface defining a Group entity.

Hierarchy

Expanded class hierarchy of GroupInterface

All classes that implement GroupInterface

42 files declare their use of GroupInterface
AccessControl.php in src/Plugin/Group/RelationHandlerDefault/AccessControl.php
AccessControlInterface.php in src/Plugin/Group/RelationHandler/AccessControlInterface.php
AccessControlTest.php in tests/src/Unit/AccessControlTest.php
AccessControlTrait.php in src/Plugin/Group/RelationHandler/AccessControlTrait.php
EmptyAccessControl.php in src/Plugin/Group/RelationHandler/EmptyAccessControl.php

... See full list

File

src/Entity/GroupInterface.php, line 18

Namespace

Drupal\group\Entity
View source
interface GroupInterface extends ContentEntityInterface, EntityOwnerInterface, EntityChangedInterface, EntityPublishedInterface, RevisionLogInterface {

  /**
   * Gets the group creation timestamp.
   *
   * @return int
   *   Creation timestamp of the group.
   */
  public function getCreatedTime();

  /**
   * Returns the group type entity the group uses.
   *
   * @return \Drupal\group\Entity\GroupTypeInterface
   */
  public function getGroupType();

  /**
   * Adds a content entity as a group content entity.
   *
   * @param \Drupal\Core\Entity\ContentEntityInterface $entity
   *   The content entity to add to the group.
   * @param string $plugin_id
   *   The ID of the group relation plugin to add the entity with.
   * @param array $values
   *   (optional) Extra values to add to the group content relationship. You
   *   cannot overwrite the group ID (gid) or entity ID (entity_id).
   */
  public function addContent(ContentEntityInterface $entity, $plugin_id, $values = []);

  /**
   * Retrieves all GroupContent entities for the group.
   *
   * @param string $plugin_id
   *   (optional) A group relation plugin ID to filter on.
   * @param array $filters
   *   (optional) An associative array of extra filters where the keys are
   *   property or field names and the values are the value to filter on.
   *
   * @return \Drupal\group\Entity\GroupContentInterface[]
   *   A list of GroupContent entities matching the criteria.
   */
  public function getContent($plugin_id = NULL, $filters = []);

  /**
   * Retrieves all GroupContent entities for a specific entity.
   *
   * @param string $plugin_id
   *   A group relation plugin ID to filter on.
   * @param int $id
   *   The ID of the entity to retrieve the GroupContent entities for.
   *
   * @return \Drupal\group\Entity\GroupContentInterface[]
   *   A list of GroupContent entities matching the criteria.
   */
  public function getContentByEntityId($plugin_id, $id);

  /**
   * Retrieves all group content for the group.
   *
   * Unlike GroupInterface::getContent(), this function actually returns the
   * entities that were added to the group through GroupContent entities.
   *
   * @param string $plugin_id
   *   (optional) A group relation plugin ID to filter on.
   * @param array $filters
   *   (optional) An associative array of extra filters where the keys are
   *   property or field names and the values are the value to filter on.
   *
   * @return \Drupal\Core\Entity\EntityInterface[]
   *   A list of entities matching the criteria. This list does not have keys
   *   that represent the entity IDs as we could have collisions that way.
   *
   * @see \Drupal\group\Entity\GroupInterface::getContent()
   */
  public function getContentEntities($plugin_id = NULL, $filters = []);

  /**
   * Adds a user as a member of the group.
   *
   * Does nothing if the user is already a member of the group.
   *
   * @param \Drupal\user\UserInterface $account
   *   The user entity to add as a member.
   * @param array $values
   *   (optional) Extra values to add to the group membership, like the
   *   'group_roles' field. You cannot overwrite the group ID (gid) or user ID
   *   (entity_id) with this method. Leave blank to make the user just a member.
   */
  public function addMember(UserInterface $account, $values = []);

  /**
   * Removes a user as a member from the group.
   *
   * Does nothing if the user is not a member of the group.
   *
   * @param \Drupal\user\UserInterface $account
   *   The user entity to remove as a member.
   */
  public function removeMember(UserInterface $account);

  /**
   * Retrieves a user's membership for the group.
   *
   * @param \Drupal\Core\Session\AccountInterface $account
   *   The user to load the membership for.
   *
   * @return \Drupal\group\GroupMembership|false
   *   The loaded GroupMembership or FALSE if none was found.
   */
  public function getMember(AccountInterface $account);

  /**
   * Retrieves all group memberships for the group.
   *
   * @param string|array $roles
   *   (optional) A group role machine name or a list of group role machine
   *   names to filter on. Results only need to match on one role (IN query).
   *
   * @return \Drupal\group\GroupMembership[]
   *   A list of GroupMembership objects representing the memberships.
   */
  public function getMembers($roles = NULL);

  /**
   * Checks whether a user has the requested permission.
   *
   * @param string $permission
   *   The permission to check for.
   * @param \Drupal\Core\Session\AccountInterface $account
   *   The account for which to check a permission.
   *
   * @return bool
   *   Whether the user has the requested permission.
   */
  public function hasPermission($permission, AccountInterface $account);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
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
EntityChangedInterface::getChangedTime public function Gets the timestamp of the last entity change for the current translation.
EntityChangedInterface::getChangedTimeAcrossTranslations public function Gets the timestamp of the last entity change across all translations.
EntityChangedInterface::setChangedTime public function Sets the timestamp of the last entity change for the current translation.
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::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::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
EntityOwnerInterface::getOwner public function Returns the entity owner's user entity. 1
EntityOwnerInterface::getOwnerId public function Returns the entity owner's user ID. 1
EntityOwnerInterface::setOwner public function Sets the entity owner's user entity. 1
EntityOwnerInterface::setOwnerId public function Sets the entity owner's user ID. 1
EntityPublishedInterface::isPublished public function Returns whether or not the entity is published.
EntityPublishedInterface::setPublished public function Sets the entity as published.
EntityPublishedInterface::setUnpublished public function Sets the entity as unpublished.
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
GroupInterface::addContent public function Adds a content entity as a group content entity. 1
GroupInterface::addMember public function Adds a user as a member of the group. 1
GroupInterface::getContent public function Retrieves all GroupContent entities for the group. 1
GroupInterface::getContentByEntityId public function Retrieves all GroupContent entities for a specific entity. 1
GroupInterface::getContentEntities public function Retrieves all group content for the group. 1
GroupInterface::getCreatedTime public function Gets the group creation timestamp. 1
GroupInterface::getGroupType public function Returns the group type entity the group uses. 1
GroupInterface::getMember public function Retrieves a user's membership for the group. 1
GroupInterface::getMembers public function Retrieves all group memberships for the group. 1
GroupInterface::hasPermission public function Checks whether a user has the requested permission. 1
GroupInterface::removeMember public function Removes a user as a member from the group. 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
RevisionLogInterface::getRevisionCreationTime public function Gets the entity revision creation timestamp. 1
RevisionLogInterface::getRevisionLogMessage public function Returns the entity revision log message.
RevisionLogInterface::getRevisionUser public function Gets the entity revision author.
RevisionLogInterface::getRevisionUserId public function Gets the entity revision author ID.
RevisionLogInterface::setRevisionCreationTime public function Sets the entity revision creation timestamp. 1
RevisionLogInterface::setRevisionLogMessage public function Sets the entity revision log message.
RevisionLogInterface::setRevisionUser public function Sets the entity revision author.
RevisionLogInterface::setRevisionUserId public function Sets the entity revision author by ID.
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