源代码仓库:
https://github.com/SAP/openui5
源代码位置:src\sap.ui.fl\src\sap\ui\fl\apply\api\AnnotationChangeHandlerAPI.js
AnnotationChangeHandlerAPI.js详细分析
文件定位与整体判断
当前文件位于src/sap.ui.fl/src/sap/ui/fl/apply/api/目录下,文件名为AnnotationChangeHandlerAPI.js。从目录层级就能看出,它属于sap.ui.fl模块中的apply侧 API,而不是write侧 API,也不是某个具体控件的实现文件。这个位置非常关键,因为在openui5里,sap.ui.fl主要承担灵活性变更,也就是Flexibility变更相关的能力。所谓灵活性变更,可以简单理解成应用在不改动原始业务代码的前提下,通过额外的变更描述去调整界面、元数据或者行为。
放在这个语境里看,AnnotationChangeHandlerAPI.js的职责就非常清楚了:它不是直接去改控件,也不是直接去改模型,而是充当一个注解变更处理器的入口门面。这个门面向外暴露两个能力:一个是注册注解变更处理器,另一个是按