1: <?php
2:
3: declare(strict_types=1);
4:
5: namespace LaravelUi5\OData\Edm\Contracts;
6:
7: /**
8: * Base contract for every named element in the Entity Data Model.
9: *
10: * Every construct in CSDL — types, properties, functions, container
11: * members — carries a simple identifier and belongs to a namespace
12: * through its parent schema. This interface makes that visible.
13: *
14: * @see OData CSDL XML v4.01 §15.2 (Simple Identifier)
15: */
16: interface NamedElementInterface
17: {
18: /**
19: * The unqualified name of this element within its parent scope.
20: *
21: * Must conform to the OData SimpleIdentifier production rule:
22: * a non-empty string of at most 128 characters, starting with
23: * a letter or underscore, followed by letters, digits, or underscores.
24: */
25: public function getName(): string;
26: }
27: