Seleccionar página

Limitación en re-utilización de componentes Seam

por | Oct 28, 2010 | Seam

Intentando heredar de un componente de seam, me he topado con que el modo en que Seam carga los componentes puede limitarnos a la hora de hacer subclases de componentes existentes (Eso si, si el nuevo componente heredado no sobreescribe al padre instalandolo com más prioridad).

El problema viene en el modo en que Seam lee las anotaciones de los métodos del componente. Para ello, en org.jboss.seam.Component, encontramos lo siguiente:

    ....
    for ( ; clazz!=Object.class; clazz = clazz.getSuperclass() )  {
        for ( Method method: clazz.getDeclaredMethods() )  {
            scanMethod(applicationContext, selectionSetters, dataModelNames, method);
        }
    .....

O lo que es lo mismo, procesa todos los métodos de las superclases de forma normal, por lo que si nuestra clase padre (como en mi caso) tiene un método anotado con @Factory(“unidentificadorcualquiera”), no podremos heredar de ella, puesto que al arrancar nuestro nuevo componente, seam lanzará un error indicando que ambos componentes (padre e hijo) declaran una factoría llamada “unidentificadorcualquiera”.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Blog de Neodoo Microsystems
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles. Puedes encontrar más información en nuestra Política de privacidad y Política de cookies.