Cómo obtener un componente de seam sin usar la anotacion @In

En seam, la forma más fácil de obtener un componente es usando la inyección de dependencias mediante la anotación @In. Sin embargo, las anotaciones para la bijection solo funcionan si se utilizan desde otro componente de Seam marcado mediante la anotación @Name.

Es decir, si en una clase 'normal' (sin la anotación @Name) utilizas un @In o un @Out o cualquier otra anotación propia de Seam, esta será ignorada. Aun así,  la API de Seam nos permite obtener instancias de otros componentes directamente, buscándolos a través de su nombre o de su clase.

// Obtiene una instancia de un componente a través de su clase
Component.getInstance(Class clazz)

// Obtiene una instancia de un componente a través de su nombre
Component.getInstance(String name)

El metodo getInstance también admite otros parametros para indicar si hay que crear el elemento, su contexto, etc..

Share:
  • del.icio.us
  • Google
  • E-mail this story to a friend!
  • Print this article!

Leave a Comment