interface FlagInterface in Flag 8.4
Defines the interface for Flag entities.
You can create a Flag either through the Admin UI or programmatically. For example, to create a flag for 'article' nodes using the 'reload' link type:
$flag = Flag::create([
  'id' => 'New flag',
  'entity_type' => 'node',
  'bundles' => [
    'article',
  ],
  'flag_type' => 'entity:node',
  'link_type' => 'reload',
  'flagTypeConfig' => [],
  'linkTypeConfig' => [],
]);
$flag
  ->save();
  Hierarchy
- interface \Drupal\Core\Config\Entity\ConfigEntityInterface; interface \Drupal\Core\Entity\EntityWithPluginCollectionInterface
- interface \Drupal\flag\FlagInterface
 
 
Expanded class hierarchy of FlagInterface
All classes that implement FlagInterface
33 files declare their use of FlagInterface
- AccessDenied.php in tests/
modules/ flag_test_plugins/ src/ Plugin/ Flag/ AccessDenied.php  - AccessGranted.php in tests/
modules/ flag_test_plugins/ src/ Plugin/ Flag/ AccessGranted.php  - ActionLinkController.php in src/
Controller/ ActionLinkController.php  - ActionLinkNoJsController.php in src/
Controller/ ActionLinkNoJsController.php  - ActionLinkTypeBase.php in src/
ActionLink/ ActionLinkTypeBase.php  
File
- src/
FlagInterface.php, line 31  
Namespace
Drupal\flagView source
interface FlagInterface extends ConfigEntityInterface, EntityWithPluginCollectionInterface {
  /* @todo: Add getters and setters as necessary. */
  /**
   * Returns true of there's a flagging for this flag and the given entity.
   *
   * @param EntityInterface $entity
   *   The flaggable entity.
   * @param AccountInterface $account
   *   (optional) The account of the user that flagged the entity.
   * @param string $session_id
   *   (optional) The session ID. This must be supplied if $account is the
   *   anonymous user.
   *
   * @return bool
   *   True if the given entity is flagged, FALSE otherwise.
   *
   * @throws \LogicException
   *   Thrown when $account is anonymous but no associated session ID is
   *   specified.
   */
  public function isFlagged(EntityInterface $entity, AccountInterface $account = NULL);
  /**
   * Returns the flaggable entity type ID.
   *
   * @return string
   *   The flaggable entity ID.
   */
  public function getFlaggableEntityTypeId();
  /**
   * Get the flag bundles property.
   *
   * @return array
   *   An array containing the bundles this flag may be applied to. An empty
   *   array indicates all bundles are valid.
   *
   * @see getApplicableBundles()
   */
  public function getBundles();
  /**
   * Get the bundles this flag may be applied to.
   *
   * For the verbatim value of the flag's types property, use getBundles().
   *
   * @return array
   *   An array containing the bundles this flag may be applied to.
   */
  public function getApplicableBundles();
  /**
   * Get the flag type plugin.
   *
   * @return \Drupal\flag\FlagType\FlagTypePluginInterface
   *   The flag type plugin for the flag.
   */
  public function getFlagTypePlugin();
  /**
   * Set the flag type plugin.
   *
   * @param string $plugin_id
   *   A string containing the flag type plugin ID.
   */
  public function setFlagTypePlugin($plugin_id);
  /**
   * Get the link type plugin for this flag.
   *
   * @return \Drupal\flag\ActionLink\ActionLinkTypePluginInterface
   *   The link type plugin for the flag.
   */
  public function getLinkTypePlugin();
  /**
   * Set the link type plugin.
   *
   * @param string $plugin_id
   *   A string containing the link type plugin ID.
   */
  public function setlinkTypePlugin($plugin_id);
  /**
   * Returns an associative array of permissions used by flag_permission().
   *
   * Typically there are two permissions, one to flag, and one to unflag.
   * Each key of the array is the permission name. Each value is an array with
   * a single element, 'title', which provides the display name for the
   * permission.
   *
   * @return array
   *   An array of permissions.
   *
   * @see \Drupal\flag\Entity\Flag::actionPermissions()
   */
  public function actionPermissions();
  /**
   * Returns true if the flag is global, false otherwise.
   *
   * Global flags disable the default behavior of a Flag. Instead of each
   * user being able to flag or unflag the entity, a global flag may be flagged
   * once for all users. The flagging's uid base field is set to the account
   * that performed the flagging action in all cases.
   *
   * @return bool
   *   TRUE if the flag is global, FALSE otherwise.
   */
  public function isGlobal();
  /**
   * Sets the flag as global or not.
   *
   * @param bool $global
   *   TRUE to mark the flag as global, FALSE for the default behavior.
   *
   * @see \Drupal\flag\Entity\Flag::isGlobal()
   */
  public function setGlobal($global);
  /**
   * The flag short text.
   *
   * @param string $text
   *   The flag short text to set.
   */
  public function setFlagShortText($text);
  /**
   * Gets the flag short text.
   *
   * @param string $action
   *   The flag action, either 'flag' or 'unflag'.
   *
   * @return string
   *   A string containing the flag short text.
   */
  public function getShortText($action);
  /**
   * Gets the flag long text.
   *
   * @param string $action
   *   The flag action, either 'flag' or 'unflag'.
   *
   * @return string
   *   A string containing the flag long text.
   */
  public function getLongText($action);
  /**
   * Sets the flag long text.
   *
   * @param string $flag_long
   *   The flag long text to use.
   */
  public function setFlagLongText($flag_long);
  /**
   * Gets the flag message.
   *
   * @param string $action
   *   The flag action, either 'flag' or 'unflag'.
   *
   * @return string
   *   The unflag message text to use.
   */
  public function getMessage($action);
  /**
   * Sets the flag message.
   *
   * @param string $flag_message
   *   The flag message text to use.
   */
  public function setFlagMessage($flag_message);
  /**
   * Sets the unflag short text.
   *
   * @param string $flag_short
   *   The unflag short text to use.
   */
  public function setUnflagShortText($flag_short);
  /**
   * Sets the unflag long text.
   *
   * @param string $unflag_long
   *   The unflag lnog text to use.
   */
  public function setUnflagLongText($unflag_long);
  /**
   * Sets the unflag message.
   *
   * @param string $unflag_message
   *   The unflag message text to use.
   */
  public function setUnflagMessage($unflag_message);
  /**
   * Get the flag's weight.
   *
   * @return int
   *   The flag's weight.
   */
  public function getWeight();
  /**
   * Set the flag's weight.
   *
   * @param int $weight
   *   An int containing the flag weight to use.
   */
  public function setWeight($weight);
  /**
   * Get the flag's unflag denied message text.
   *
   * @return string
   *   A string containing the unflag denied message text.
   */
  public function getUnflagDeniedText();
  /**
   * Set's the flag's unflag denied message text.
   *
   * @param string $unflag_denied_text
   *   The unflag denied message text to use.
   */
  public function setUnflagDeniedText($unflag_denied_text);
  /**
   * Checks whether a user has permission to flag/unflag or not.
   *
   * @param string $action
   *   The action for which to check permissions, either 'flag' or 'unflag'.
   * @param AccountInterface $account
   *   (optional) An AccountInterface object.
   * @param \Drupal\Core\Entity\EntityInterface $flaggable
   *   (optional) The flaggable entity.
   *
   * @return \Drupal\Core\Access\AccessResult
   *   An AccessResult object.
   */
  public function actionAccess($action, AccountInterface $account = NULL, EntityInterface $flaggable = NULL);
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            AccessibleInterface:: | 
                  public | function | Checks data value access. | 9 | 
| 
            CacheableDependencyInterface:: | 
                  public | function | The cache contexts associated with this object. | 34 | 
| 
            CacheableDependencyInterface:: | 
                  public | function | The maximum age for which this object may be cached. | 34 | 
| 
            CacheableDependencyInterface:: | 
                  public | function | The cache tags associated with this object. | 27 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Calculates dependencies and stores them in the dependency property. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Disables the configuration entity. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Enables the configuration entity. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Returns the value of a property. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Gets the configuration dependencies. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Gets whether on not the data is trusted. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Checks whether this entity is installable. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Returns whether this entity is being changed during the uninstall process. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Informs the entity that entities it depends on will be deleted. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Sets the value of a property. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Sets the status of the configuration entity. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Returns whether the configuration entity is enabled. | 2 | 
| 
            ConfigEntityInterface:: | 
                  public | function | Sets that the data should be trusted. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the bundle of the entity. | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Constructs a new entity object, without permanently saving it. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Creates a duplicate of the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Deletes an entity permanently. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Enforces an entity to be new. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Returns the cache tags that should be used to invalidate caches. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the key that is used to store configuration dependencies. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the configuration dependency name. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the configuration target identifier for the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the entity type definition. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the ID of the type of the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the original ID. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets a typed data object for this entity object. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Indicates if a link template exists for a given key. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the identifier. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Determines whether the entity is new. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the label of the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the language of the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Deprecated way of generating a link to the entity. See toLink(). | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Loads an entity. | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Loads one or more entities. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Acts on a created entity before hooks are invoked. | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Acts on deleted entities before the delete hook is invoked. | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Acts on loaded entities. | 3 | 
| 
            EntityInterface:: | 
                  public | function | Acts on a saved entity before the insert or update hook is invoked. | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Changes the values of an entity before it is created. | 2 | 
| 
            EntityInterface:: | 
                  public static | function | Acts on entities before they are deleted and before hooks are invoked. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Acts on an entity before the presave hook is invoked. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets a list of entities referenced by this entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Saves an entity permanently. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Sets the original ID. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets an array of all property values. | 3 | 
| 
            EntityInterface:: | 
                  public | function | Generates the HTML for a link to this entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the URL object for the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets a list of URI relationships supported by this entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the public URL for this entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the URL object for the entity. | 2 | 
| 
            EntityInterface:: | 
                  public | function | Gets the entity UUID (Universally Unique Identifier). | 2 | 
| 
            FlagInterface:: | 
                  public | function | Checks whether a user has permission to flag/unflag or not. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Returns an associative array of permissions used by flag_permission(). | 1 | 
| 
            FlagInterface:: | 
                  public | function | Get the bundles this flag may be applied to. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Get the flag bundles property. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Returns the flaggable entity type ID. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Get the flag type plugin. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Get the link type plugin for this flag. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Gets the flag long text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Gets the flag message. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Gets the flag short text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Get the flag's unflag denied message text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Get the flag's weight. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Returns true of there's a flagging for this flag and the given entity. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Returns true if the flag is global, false otherwise. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Sets the flag long text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Sets the flag message. | 1 | 
| 
            FlagInterface:: | 
                  public | function | The flag short text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Set the flag type plugin. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Sets the flag as global or not. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Set the link type plugin. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Set's the flag's unflag denied message text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Sets the unflag long text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Sets the unflag message. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Sets the unflag short text. | 1 | 
| 
            FlagInterface:: | 
                  public | function | Set the flag's weight. | 1 | 
| 
            ObjectWithPluginCollectionInterface:: | 
                  public | function | Gets the plugin collections used by this object. | 11 | 
| 
            RefinableCacheableDependencyInterface:: | 
                  public | function | Adds a dependency on an object: merges its cacheability metadata. | 1 | 
| 
            RefinableCacheableDependencyInterface:: | 
                  public | function | Adds cache contexts. | 1 | 
| 
            RefinableCacheableDependencyInterface:: | 
                  public | function | Adds cache tags. | 1 | 
| 
            RefinableCacheableDependencyInterface:: | 
                  public | function | Merges the maximum age (in seconds) with the existing maximum age. | 1 | 
| 
            SynchronizableInterface:: | 
                  public | function | Returns whether this entity is being changed as part of a synchronization. | 1 | 
| 
            SynchronizableInterface:: | 
                  public | function | Sets the status of the synchronization flag. | 1 | 
| 
            ThirdPartySettingsInterface:: | 
                  public | function | Gets the list of third parties that store information. | 5 | 
| 
            ThirdPartySettingsInterface:: | 
                  public | function | Gets the value of a third-party setting. | 5 | 
| 
            ThirdPartySettingsInterface:: | 
                  public | function | Gets all third-party settings of a given module. | 5 | 
| 
            ThirdPartySettingsInterface:: | 
                  public | function | Sets the value of a third-party setting. | 5 | 
| 
            ThirdPartySettingsInterface:: | 
                  public | function | Unsets a third-party setting. | 5 |