在Hybris中从-items.xml生成一个最终的类

问题描述:

java中的final类表示它不能被任何其他类扩展。我们如何在hybris中使用-Items.xml定义数据模型?在Hybris中从-items.xml生成一个最终的类

+0

? – KilleKat

+0

只是好奇:D。为了将来的目的 –

SAP Hybris平台不支持生成final数据模型类OOTB(Out Of The Box)。您无法覆盖该机制,但您可以修改位于src目录中的生成的类。如果你想要一个final数据模型类(例如Foo),你可以手动添加这个修饰符。

<itemtypes> 
    <itemtype code="Foo" jaloclass="org.example.Foo"> 
     <attributes> 
      <!-- attributes --> 
     </attributes> 
    </itemtype> 
</itemtypes> 

文件结构:

  • src/org/example/Foo←你可以标记这个类作为final
  • gensrc/org/example/GeneratedFoo←你不能修改这个类

(类Foo扩展GeneratedFoo

所有扩展类型为Foo的扩展在构建阶段都会失败。


SAP平台款Hybris只允许通过使用abstract属性等于true设置abstract修改:为什么尤其是你想这样做

<itemtypes> 
    <itemtype code="Foo" abstract="true"> 
     <attributes> 
      <!-- attributes --> 
     </attributes> 
    </itemtype> 
</itemtypes> 
+0

修改生成的java文件是好还是坏? –

+0

这些生成的文件被放置在'src'目录中,以允许开发人员添加其他行为。变更的好坏取决于变更的类型。我认为添加'final'修饰符不是一个好的改变,但它是可能的。 – agabrys