Cet exemple indique comment vous pouvez rendre un code externe (classes Java, par exemple) et des objets externes accessibles aux expressions. Un objet externe est un objet créé par une application pour communiquer avec des expressions.
Pour pouvoir accéder à un code externe depuis une expression, vous devez rendre ce code accessible aux expressions.
Une importation est un moyen spécifique aux langages de programmation de rendre un code externe accessible à des expressions. L'élément <import> contient un type d'expression particulier qui spécifie les modules externes (classes Java, par exemple) à importer en vue de les utiliser dans d'autres expressions au sein de règles. Une importation peut être définie au niveau du jeu de règles ou d'un bloc de règles.
<import expressionLanguage="java"> import com.ibm.act.sample.StaticHelper; import com.ibm.act.test.Queue; </import>
Bien que l'utilisation d'un nom de classe complet ne soit pas obligatoire dans l'instruction d'importation, vous devriez en spécifier un pour éviter d'allonger la durée de la compilation. Par exemple, la classe Java devrait être définie en tant que com.ibm.act.sample.StaticHelper, plutôt que com.ibm.act.sample.* ou com.ibm.act.*.
<onDetection> <action expressionLanguage="java"> StaticHelper.pageAdministrator("Too many login attempts for " + act_event.getAttribute("userID")); </action> </onDetection>
<onDetection> <action expressionLanguage="java"> Queue myQueue = (Queue)act_lib.getExternalContext("OutputQueueOne"); myQueue.enqueue(act_event); </action> </onDetection>