1: <?php
2:
3: declare(strict_types=1);
4:
5: namespace LaravelUi5\OData\Protocol\Planning;
6:
7: use LaravelUi5\OData\Edm\Contracts\Container\EntitySetInterface;
8: use LaravelUi5\OData\Edm\Contracts\Property\NavigationPropertyInterface;
9: use LaravelUi5\OData\Protocol\Planning\Expression\FilterExpression;
10:
11: final readonly class ExpandItem
12: {
13: public function __construct(
14: public readonly NavigationPropertyInterface $property,
15: public readonly EntitySetInterface $targetSet, // resolved at plan time
16: public readonly ?FilterExpression $filter = null,
17: public readonly SelectList $select = new SelectList(),
18: public readonly ExpandList $expand = new ExpandList(),
19: public readonly ?OrderByList $orderBy = null,
20: public readonly ?int $top = null,
21: public readonly ?int $skip = null,
22: public readonly bool $count = false,
23: ) {}
24: }
25: