You are here

class FlagLinkBuilder in Flag 8.4

Provides a lazy builder for flag links.

Hierarchy

Expanded class hierarchy of FlagLinkBuilder

1 string reference to 'FlagLinkBuilder'
flag.services.yml in ./flag.services.yml
flag.services.yml
1 service uses FlagLinkBuilder
flag.link_builder in ./flag.services.yml
Drupal\flag\FlagLinkBuilder

File

src/FlagLinkBuilder.php, line 11

Namespace

Drupal\flag
View source
class FlagLinkBuilder implements FlagLinkBuilderInterface, TrustedCallbackInterface {

  /**
   * The entity type manager.
   *
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
   */
  protected $entityTypeManager;

  /**
   * The flag service.
   *
   * @var \Drupal\flag\FlagServiceInterface
   */
  protected $flagService;

  /**
   * Constructor.
   *
   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
   *   The entity type manager.
   * @param \Drupal\flag\FlagServiceInterface $flag_service
   *   The flag service.
   */
  public function __construct(EntityTypeManagerInterface $entity_type_manager, FlagServiceInterface $flag_service) {
    $this->entityTypeManager = $entity_type_manager;
    $this->flagService = $flag_service;
  }

  /**
   * {@inheritdoc}
   */
  public static function trustedCallbacks() {
    return [
      'build',
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function build($entity_type_id, $entity_id, $flag_id) {
    $entity = $this->entityTypeManager
      ->getStorage($entity_type_id)
      ->load($entity_id);
    $flag = $this->flagService
      ->getFlagById($flag_id);
    $link_type_plugin = $flag
      ->getLinkTypePlugin();
    return $link_type_plugin
      ->getAsFlagLink($flag, $entity);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FlagLinkBuilder::$entityTypeManager protected property The entity type manager.
FlagLinkBuilder::$flagService protected property The flag service.
FlagLinkBuilder::build public function Lazy builder callback for displaying a flag action link. Overrides FlagLinkBuilderInterface::build
FlagLinkBuilder::trustedCallbacks public static function Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface::trustedCallbacks
FlagLinkBuilder::__construct public function Constructor.
TrustedCallbackInterface::THROW_EXCEPTION constant Untrusted callbacks throw exceptions.
TrustedCallbackInterface::TRIGGER_SILENCED_DEPRECATION constant Untrusted callbacks trigger silenced E_USER_DEPRECATION errors.
TrustedCallbackInterface::TRIGGER_WARNING constant Untrusted callbacks trigger E_USER_WARNING errors.