Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3namespace App\Service\Data;
4
5use App\Entity\GrammaticalRole;
6use App\Enum\GrammaticalRoleType;
7use App\Specification\Criteria;
8use Symfony\Component\DependencyInjection\Attribute\AutoconfigureTag;
9
10/**
11 * @template T of GrammaticalRole
12 *
13 * @author Wilhelm Zwertvaegher
14 */
15#[AutoconfigureTag('app.word_type_data_service')]
16interface GrammaticalRoleServiceInterface
17{
18    public function getGrammaticalRole(): GrammaticalRoleType;
19
20    /**
21     * @return ?T
22     */
23    public function findByWordId(int $wordId): ?GrammaticalRole;
24
25    /**
26     * Find a similar GrammaticalRole.
27     *
28     * @param T $other
29     *
30     * @return ?T
31     */
32    public function findSimilar(GrammaticalRole $other, Criteria $criteria): ?GrammaticalRole;
33
34    /**
35     * Increments a grammatical role usages count.
36     */
37    public function incrementUsageCount(GrammaticalRole $grammaticalRole): void;
38}