1: <?php
2:
3: namespace LaravelUi5\Core\Ui5;
4:
5: use LaravelUi5\Core\Contracts\ConfigurableInterface;
6: use LaravelUi5\Core\Contracts\ParameterizableInterface;
7: use LaravelUi5\Core\Contracts\Ui5Args;
8: use LaravelUi5\Core\Contracts\Ui5Config;
9: use LaravelUi5\Core\Ui5\Capabilities\DataProviderInterface;
10:
11: abstract class AbstractDataProvider implements DataProviderInterface, ConfigurableInterface, ParameterizableInterface
12: {
13:
14: protected Ui5Config $config;
15: protected Ui5Args $args;
16:
17: public function withConfig(Ui5Config $config): static
18: {
19: $this->config = $config;
20: return $this;
21: }
22:
23: public function config(): Ui5Config
24: {
25: return $this->config;
26: }
27:
28: public function withArgs(Ui5Args $args): static
29: {
30: $this->args = $args;
31: return $this;
32: }
33:
34: public function args(): Ui5Args
35: {
36: return $this->args;
37: }
38: }
39: