2010-11-14 8 views
7

Ich versuche, ein Feld des primitiven Typs "int" an einen Editor zu binden. Mein Editor erweitert ValueBox<Integer>, da Generika in Java nur Objekttypen verwenden können.Wie kann GWT 2.1 Editor Framework primitive Typen unterstützen?

Wenn ich meine Anwendung kompilieren, ich die folgende Fehlermeldung erhalten:

00:00:18,915 [ERROR] Found unexpected type int while evauating path "cadastralDivisionCode" using getter expression ""

die Getter und Setter ändern, ein Integer-Objekt zu verwenden, funktioniert der Trick. Gibt es eine Möglichkeit, einen primitiven Typ im GWT 2.1-Editor-Framework zu verwenden?

Antwort

4

Sie müssen für primitive Typen auf 2.1.1 warten. Es ist ein open bug Tracking dies.

+1

Es ist nicht klar, dass sie dies in 2.1.1 implementieren werden - dieser Bug sagt nur, dass sie das Verhalten mit Primitiven "klar definieren" werden. Was definitiv erscheint, ist, dass sie es mit einer hilfreichen Fehlermeldung zum Scheitern bringen. Jan, ich denke, du solltest deine Ints mit Ganzzahlen umhüllen und nicht auf 2.1.1 warten, um das zu lösen. –

+1

Das werden wir tun, aber es ist schade. Ein Primitiv darf nicht null sein, und wir verwenden das für nicht nullbare Felder. Jetzt müssen wir diese Validierungslogik hinzufügen. – Jan

4

Wir haben uns die GWT-Interna nicht angeschaut, aber höchstwahrscheinlich ist das nicht möglich, weil primitive Werte nicht als Referenz behandelt werden und nicht in Collections eingefügt werden können.

Die einzige Möglichkeit besteht darin, äquivalente Objekttypen zu verwenden, z. Integer für int.