La classe finale dans Java signifie qu'elle n'est extensible par aucune autre classe. Comment le faisons-nous dans hybris en définissant le data-model dans -Items.xml?Générer une classe finale à partir de -items.xml dans Hybris
Répondre
La plate-forme SAP Hybris ne prend pas en charge la génération des classes de modèles de données final
OOTB (Out Of The Box). Vous ne pouvez pas remplacer ce mécanisme, mais vous êtes autorisé à modifier la classe générée située dans le répertoire src
. Si vous voulez une classe de modèle de données final
(par exemple, Foo), vous pouvez ajouter manuellement ce modificateur.
<itemtypes>
<itemtype code="Foo" jaloclass="org.example.Foo">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
Structure du fichier:
src/org/example/Foo
← vous pouvez marquer cette classe commefinal
gensrc/org/example/GeneratedFoo
← vous ne pouvez pas modifier cette classe
(classe Foo
étend GeneratedFoo
)
Toutes les extensions de type Foo
échoueront pendant la phase de construction.
plate-forme SAP Hybris ne permet de définir un modificateur abstract
en utilisant un attribut abstract
égal à true
:
<itemtypes>
<itemtype code="Foo" abstract="true">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
Est-il bon/mauvais de modifier les fichiers Java générés? –
Les fichiers générés sont placés dans le répertoire 'src' pour permettre aux développeurs d'ajouter un comportement supplémentaire. Si une modification est bonne ou mauvaise dépend du type de changement. Je pense que l'ajout du modificateur 'final' n'est pas un bon changement, mais c'est possible. – agabrys
pourquoi surtout que vous voulez faire? – KilleKat
Juste curieux: D. À des fins futures –