SAP UI5 Fiori Elements annotation 解析出来的 entity container

SAP UI5 框架实现代码 AnnotationParser.js 解析出的 annotation:

其中第一个就是 entity Container.

这个 entity container 在 metadata.xml 文件里能够找到:

EntityContainer 里包含了 EntitySet:

metadata 里这个 Annotations 区域的内容:

被 AnnotationParser.js 解析如下:

SAP Fiori Elements是SAP的一种框架,用于创建SAP Fiori应用程序。该框架提供了一种结构化的方法来创建用户界面,并基于开放数据模型(OData)服务和SAP注解来描述应用程序的行为。SAP Fiori Elements应用程序是基于SAPUI5库和OData服务的,它们使用注解来定义和扩展行为。

在SAP Fiori Elements应用程序中,注解是用于描述数据模型和业务逻辑的元数据。它们可以在服务定义(CDS视图或SEGW项目)或者元数据扩展(MDE)中定义。注解在运行时解析,并根据注解的值来渲染用户界面。

Entity Container是OData模型中的一部分,它是实体集(Entity Sets)和单一实体(Singletons)的容器。实体集是数据模型中的集合,例如客户、订单或产品。而Singletons是单一的数据对象,例如当前用户或系统设置。

在SAP Fiori Elements应用程序中,Entity Container用于定义OData服务中可用的所有实体集和Singletons。例如,你可能有一个名为"SalesOrder"的实体集,这个实体集包含你的所有销售订单。

Entity Container的定义通常在OData服务的元数据文档中找到。它的定义如下:

<EntityContainer Name="MyServiceContainer" m:IsDefaultEntityContainer="true">
  <EntitySet Name="SalesOrder" EntityType="MyNamespace.SalesOrder" />
  <Singleton Name="CurrentUser" Type="MyNamespace.User" />
</EntityContainer>

在这个例子中,我们定义了一个名为"MyServiceContainer"的Entity Container,它包含一个名为"SalesOrder"的实体集和一个名为"CurrentUser"的Singleton。

在SAP Fiori Elements应用程序中,我们可以使用注解来改变Entity Container中实体集和Singletons的行为。例如,我们可以使用@UI.headerInfo注解来定义实体集的头部信息,或者使用@Search.searchable注解来定义实体集是否可以被搜索。

注解可以在服务定义中直接定义,也可以在元数据扩展中定义。例如,以下是一个使用注解定义头部信息的例子:

@UI.headerInfo: { 
  typeName: 'Sales Order', 
  typeNamePlural: 'Sales Orders', 
  title: { value: 'orderNumber' } 
}
Entity SalesOrder {
  key orderNumber: String;
  customerName: String;
  totalAmount: Decimal;
}

在这个例子中,我们使用@UI.headerInfo注解来定义销售订单的头部信息。标题将使用订单号作为值。

通过使用Entity Container和注解,SAP Fiori Elements提供了一种强大的方法来定义和扩展OData服务的行为。这使得开发者可以专注于业务逻辑,而不是用户界面的开发。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/131896547