Fala galera, tudo certo?
Estou com algumas dúvidas em um modelo OO que montei. Segue as classes:
abstract class Widget {
int id;
// ...
}
class Banner extends Widget {
// outros atributos e métodos
}
Tenho um relacionamento polimorfico com Hibernate assim:
class Link {
int template;
int section;
Widget widget;
// esqueçam as anotações do hibernate
}
O problema disso é que o único atributo do widget é o ID(Utilizado pelo Hibernate). Neste caso a superclasse serviu somente para “marcar” a subclasse. Quando executo uma busca em banco, o hibernate me retorna certo o widget. Porém em algumas classes eu preciso do tipo específico. Em um exemplo básico com VRaptor, eu teria algo assim:
this.result.include("widget", widget) // ejeta a variável para o jsp
Neste exemplo eu preciso do tipo específico para acessar a variável no jsp. Não quero utilizar instanceofs para resolver o meu problema. O que vocês acham? Como eu poderia resolver este problema de uma forma melhor?
Vlw!
