| 1: | <?php |
| 2: | |
| 3: | declare(strict_types=1); |
| 4: | |
| 5: | namespace LaravelUi5\OData\Edm\Contracts; |
| 6: | |
| 7: | /** |
| 8: | * Marker interface for every model element that is a valid annotation |
| 9: | * target according to the OData CSDL specification. |
| 10: | * |
| 11: | * This interface has no methods. Its sole purpose is to form a closed |
| 12: | * set of PHP types that may legally appear in the APPLIES_TO constant |
| 13: | * of a TypedAnnotationInterface implementation. Static analysis tools |
| 14: | * and the vocabulary generator use this marker to validate annotation |
| 15: | * applicability at build time rather than at runtime. |
| 16: | * |
| 17: | * The following interfaces implement this marker: |
| 18: | * - EntityTypeInterface |
| 19: | * - ComplexTypeInterface |
| 20: | * - EntitySetInterface |
| 21: | * - SingletonInterface |
| 22: | * - PropertyInterface |
| 23: | * - NavigationPropertyInterface |
| 24: | * - FunctionInterface |
| 25: | * - FunctionParameterInterface |
| 26: | * - FunctionImportInterface |
| 27: | * - EnumTypeInterface |
| 28: | * - EnumMemberInterface |
| 29: | * - TypeDefinitionInterface |
| 30: | * - EntityContainerInterface |
| 31: | * - SchemaInterface |
| 32: | * |
| 33: | * @see OData CSDL XML v4.01 ยง14.1.2 (Applicability) |
| 34: | */ |
| 35: | interface AnnotationTargetInterface |
| 36: | { |
| 37: | } |