Seam contempla varios modelos de eventos:
- JSF eventos
- <h:commandButton value="enviar" action="#{helloWorld.sayHello}"/>
- jBPM transition events (.jpdl), se especifican en la etiqueta event en la cual hay que definir el tipo de evento (node-enter, node-leave, process-start, process-end, task-create, task-assign, task-start, task-end, before-signal, after-signal). Hay que distinguir entre bussiness process (varios usuarios implicados) y pageflow (un usuario)
- <event type="">
- Seam page actions (pages.xml), se ejecutan antes del renderizado de una página
- <pages>
<page view-id="hello.jsp" action="#{helloWorld.sayHello}"/>
</pages> - Seam component-driven events
- se puede definir en el archivo components.xml o en el propio código java a través de anotaciones o referencias a componentes propios de Seam es decir Events.instance
- anotacion para observar un evento @Observer("nombreEvento")
- anotación para lanzar un evento @RaiseEvent("nombreEvento")
- Seam contextual events
- componentes Seam siempre instalados
- preSetVariable, postSetVariable, preRemoveVariable ...
se produce cuando el metodo devuelve un not-null y sin excepciones!
1 comentario:
Con la anotación @RaiseEvent(value="nombreEvento")
se produce un evento a la salida del metodo en caso de que no devuelva null!!!
Publicar un comentario