| 1: | <?php |
| 2: | |
| 3: | namespace LaravelUi5\Core\Ui5\Contracts; |
| 4: | |
| 5: | use Flat3\Lodata\EntityType; |
| 6: | |
| 7: | /** |
| 8: | * Marker interface for DataProviders that expose metadata for |
| 9: | * automatic UI generation (e.g., selection masks, table columns). |
| 10: | * |
| 11: | * If a provider implements this interface, the SDK can render |
| 12: | * a generic UI5 selection mask based on the EntityType definition. |
| 13: | */ |
| 14: | interface MetadataAwareInterface |
| 15: | { |
| 16: | /** |
| 17: | * Returns the entity type definition used for this report. |
| 18: | * |
| 19: | * The entity type defines the available properties (columns), |
| 20: | * their data types, and optionally labels or formatting hints. |
| 21: | */ |
| 22: | public function getEntityType(): EntityType; |
| 23: | } |
| 24: |