1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Contract\Core\Provider; |
4: | |
5: | use LogicException; |
6: | |
7: | /** |
8: | * @api |
9: | * |
10: | * @template TProvider of ProviderInterface |
11: | * |
12: | * @extends HasProvider<TProvider> |
13: | */ |
14: | interface ProviderAwareInterface extends HasProvider |
15: | { |
16: | /** |
17: | * Set the object's provider |
18: | * |
19: | * @param TProvider $provider |
20: | * @return $this |
21: | * @throws LogicException if the object already has a provider. |
22: | */ |
23: | public function setProvider(ProviderInterface $provider); |
24: | } |
25: |