Polymorphe GWT-Listen mit @ExtraTypes

Ich habe ein kleines Problem mit einer Liste, die verschiedene Arten von Elementen enthält, und ich würde gerne sehen, ob jemand von Ihnen das Problem schon einmal getroffen hat. Das Problem sollte mit der Verwendung von @ExtraTypes behoben werden, aber es funktioniert nicht für mich, also denke ich, dass ich es nicht richtig verwende. Das Szenario lautet also (Bean-Namen wurden aus Gründen der Übersichtlichkeit geändert):

ALLGEMEINES:Ich verwende GWT 2.5 mit RequestFactory.SERVER-SEITE:Ich habe eine RootBean, die unter anderem Folgendes enthält: a
List <ChildBean>
.Diese ChildBean enthält einige primitive Attribute.ChildBean wird auch durch MoreSpecificChildBean erweitert, das alle übergeordneten Attribute erbt und einige weitere hinzufügt.Die RootBean-Liste wird abhängig von einer bestimmten Logik mit Elementen des Typs ChildBean und MoreSpecificChildBean gefüllt.KUNDENSEITE:

IRootBeanProxy ist ein ValueProxy mit folgenden Anmerkungen:

 @ProxyFor (value = RootBean.class)
 @ExtraTypes ({IMoreSpecificChildBeanProxy.class})

und enthält eine Liste

List <IChildBeanProxy> getChildren ();

IChildBeanProxy ist ein ValueProxy:
@ProxyFor (value=ChildBean)
public interface IChildBeanProxy extends ValueProxy
IMoreSpecificChildBeanProxy ist ein ValueProxy:
@ProxyFor (value=MoreSpecificChildBean)
public interface IMoreSpecificChildBeanProxy extends IChildBeanProxy
Der Request-Kontext hat eine Methode, die Request zurückgibt, und ich habe auch hier die Annotation @ExtraTypes hinzugefügt:
@Service (value = CompareService.class, locator = SpringServiceLocator.class)
@ExtraTypes ({IChildBeanProxy.class, IMoreSpecificChildBeanProxy.class})
public interface ICompareRequestContext extends RequestContext {
   Request <IRootBeanProxy> compare (Integer id1, Integer id2);
Frage

Angeblich sollte RF bei diesen Annotationen die Existenz von polymorphen geerbten Klassen kennen, aber alles, was ich im Client erhalte, ist ein IRootBeanProxy mit einer Liste von IChildBeanProxy-Elementen. Diese Liste enthält das MoreSpecificChildBean, aber in der Form eines IChildBeanProxy, so dass ich es nicht von den anderen unterscheiden kann. Ich frage mich also, was ich falsch mache, wenn ich die ExtraTypes-Annotation an der falschen Stelle setze oder so.

Jemand?

Danke für all die Hilfe !!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage