Conditions personnalisées
Des conditions personnalisées peuvent être créées et utilisées pour générer une promotion. Vous pouvez créer des conditions de promotion personnalisées pour vous assurer que les types de promotion disponibles répondent à vos besoins métier.
Lorsque vous créez une condition personnalisée pour un type de promotion, vous devez respecter le format XML attendu. Ce format est obligatoire pour que le moteur de promotion puisse utiliser votre condition lorsqu'il évalue les promotions dans la boutique en ligne. Le code suivant est un exemple de condition personnalisée que vous pouvez utiliser pour modéliser vos propres conditions personnalisées :
<CustomConditions>
<Condition impl= "com.myCompany.condition.custom.MyOtherMoreComplexCondition">
<!-- where myCompany is a custom package name -->
<ConfigParameter1>XXXX</ConfigParameter1>
<ConfigParameter2>
<CP2.1>YYYY</CP2.1>
<CP2.2>ZZZZ</CP2.2>
</ConfigParameter2>
</Condition>
</CustomConditions>Une condition personnalisée doit implémenter l'interface com.ibm.commerce.marketing.promotion.condition.Condition, qui est une sous-classe de XMLizable. Le code suivant est un exemple de définition de cette interface :
package com.ibm.commerce.marketing.promotion.condition;
import com.ibm.commerce.marketing.promotion.runtime.PromotionContext;
import com.ibm.commerce.marketing.promotion.xml.*;
public interface Condition extends XMLizable {
/**
* IBM copyright notice field.
*/
public static final String COPYRIGHT =
com.ibm.commerce.copyright.IBMCopyright.SHORT_COPYRIGHT;
boolean evaluate(PromotionContext context)
throws PromotionConditionEvaluationException;
}
La méthode evaluate doit renvoyer true ou false. Si elle renvoie true, la condition est considérée comme satisfaite. Si elle renvoie false, la condition est considérée comme non satisfaite et la promotion à laquelle cette condition personnalisée appartient ne sera pas appliquée.Remarque : Toutes les conditions personnalisées doivent autoriser les unités d'exécution multiples et être réentrantes.