Ajout d'une nouvelle logique métier à une instruction de tâches
Supposons qu'il existe une instruction de tâches HCL Commerce existante, appelée ExistingTaskCmd. À la suite des conventions de dénomination HCL Commerce, cette instruction de tâche aurait une classe d'interface nommée ExistingTaskCmd et une classe d'implémentation nommée ExistingTaskCmdImpl. Supposons maintenant qu'une exigence métier se pose et que vous deviez ajouter une nouvelle logique métier à cette commande existante. Une partie de la logique doit être exécutée avant la logique de commande existante et une autre partie doit être exécutée après la logique de commande existante.
Pourquoi et quand exécuter cette tâche
La première étape de l'ajout de la nouvelle logique métier consiste à créer une nouvelle classe d'implémentation qui étend la classe d'implémentation d'origine. Dans cet exemple, vous créerez une nouvelle classe ModifiedTaskCmdImpl qui étend la classe ExistingTaskCmdImpl. La nouvelle classe d'implémentation doit implémenter l'interface d'origine (ExistingTaskCmd).
Dans la nouvelle commande, vous remplacez la méthode existante performExecute et incluez la nouvelle logique avant et après l'appel de la méthode super.performExecute.
L'extrait de code suivant montre comment ajouter une nouvelle logique métier à une instruction de tâches existante :
public class ModifiedTaskCmdImpl extends ExistingTaskCmdImpl
implements ExistingTaskCmd {
/* Insert new business logic that must be
executed before the original command.
*/
// Execute the original command logic.
super.performExecute();
/* Insert new business logic that must be
executed after the original command.
*/
}
Vous devez également mettre à jour la table CMDREG pour associer la nouvelle classe d'implémentation à l'interface existante. L'instruction SQL suivante montre un exemple de mise à jour :
update CMDREG
set CLASSNAME='ModifiedTaskCmdImpl'
where INTERFACENAME='ExistingTaskCmd'