抽象目标组件的字段标识。
该字段标识用于在 HijackedComponent.infect 或 HijackedComponent.compose 方法中指定需要被改造的目标宜搭组件。
组件的选项列表。
每个选项包含 text(显示文本)与 value(实际值)两个字段,适用于
下拉框、单选框等宜搭组件。该列表通常由 HijackedComponent.main
方法计算得出,并通过 VirtualComponent.setOptions 注入到目标组件中。
时间语义化预设配置项。
该配置项在实例化时传入,供 HijackedComponent.main 方法使用, 用于控制学年、学期、周次等时间相关组件的计算基准。
组件的默认值。
该值通常由 HijackedComponent.main 方法计算得出,并通过 VirtualComponent.setDefaultValue 注入到目标组件中。
将当前组件与另一个组件进行组合,生成新的虚拟组件。
组合逻辑如下:
例如,若当前组件值为 "2023-2024学年",另一组件值为 "第一学期",
则组合后的值为 "2023-2024学年第一学期"。
另一个劫持组件实例。
组合后的虚拟组件实例。
将当前劫持组件转换为虚拟组件,并绑定到指定的目标字段。
该方法会创建一个 Infection.VirtualComponent 实例,并将当前组件的 值、选项与目标字段标识注入其中。返回的虚拟组件可进一步调用 VirtualComponent.setDefaultValue 与 VirtualComponent.setOptions 完成实际改造。
目标宜搭组件的字段标识,例如 "selectField_xxx"。
绑定后的虚拟组件实例。
受保护main受保护组件主逻辑方法,需在子类中实现。
子类应在此方法中完成 HijackedComponent.value 与 HijackedComponent.options 的生成,并返回当前实例以支持链式调用。
当前组件实例。
静态of创建并初始化一个劫持组件实例。
工厂方法会创建子类实例,并将传入的预设配置合并到 HijackedComponent.preset 中,然后自动调用 HijackedComponent.main 完成初始化。
具体的劫持组件子类类型。
可选的时间语义化预设配置项,将传入组件实例供其主逻辑使用。
已完成初始化的组件实例。
组件劫持基类。
本抽象类定义了可被 Infection.VirtualComponent 转换的劫持组件 契约。子类通过实现 HijackedComponent.main 方法生成组件的 默认值 与 选项列表,随后可调用 HijackedComponent.infect 方法将自身转换为虚拟组件并绑定到 目标字段。
多个劫持组件还可通过 HijackedComponent.compose 方法进行组合, 生成一个新的 Infection.VirtualComponent,其值为各组件值的连接, 选项为各组件选项的笛卡尔积。
添加于
26.7.1
参阅