在 Hybris 中从 -items.xml 生成最终的 class
Generate a final class from -items.xml in Hybris
Final class in java 意味着它不能被任何其他 class 扩展。在 -Items.xml 中定义数据模型时,我们如何在 hybris 中做到这一点?
SAP Hybris 平台不支持生成 final
数据模型 classes OOTB(开箱即用)。您不能覆盖该机制,但您可以修改位于 src
目录中的生成的 class。如果您想要 final
数据模型 class(例如 Foo),您可以手动添加此修饰符。
<itemtypes>
<itemtype code="Foo" jaloclass="org.example.Foo">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
文件结构:
src/org/example/Foo
← 您可以将此 class 标记为 final
gensrc/org/example/GeneratedFoo
← 你不能修改这个 class
(class Foo
扩展 GeneratedFoo
)
所有类型扩展 Foo
的扩展都将在构建阶段失败。
SAP Hybris 平台仅允许使用等于 true
:
的 abstract
属性来设置 abstract
修饰符
<itemtypes>
<itemtype code="Foo" abstract="true">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
Final class in java 意味着它不能被任何其他 class 扩展。在 -Items.xml 中定义数据模型时,我们如何在 hybris 中做到这一点?
SAP Hybris 平台不支持生成 final
数据模型 classes OOTB(开箱即用)。您不能覆盖该机制,但您可以修改位于 src
目录中的生成的 class。如果您想要 final
数据模型 class(例如 Foo),您可以手动添加此修饰符。
<itemtypes>
<itemtype code="Foo" jaloclass="org.example.Foo">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
文件结构:
src/org/example/Foo
← 您可以将此 class 标记为final
gensrc/org/example/GeneratedFoo
← 你不能修改这个 class
(class Foo
扩展 GeneratedFoo
)
所有类型扩展 Foo
的扩展都将在构建阶段失败。
SAP Hybris 平台仅允许使用等于 true
:
abstract
属性来设置 abstract
修饰符
<itemtypes>
<itemtype code="Foo" abstract="true">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>