Si vous voulez vraiment éviter d'utiliser le mot-clé transitoire, vous voudrez peut-être regarder dans champs personnalisés Sérialiseurs.
Lors de mon dernier projet GWT, je les ai utilisés pour sérialiser des classes immuables, puisque GWT-RPC avait des limitations pour ceux-ci.
C'est une fonctionnalité mal documentée, et la meilleure explication que j'ai trouvée à ce moment-là n'était pas dans la documentation de GWT, mais sur this great wogwt wiki page. Vous pouvez également trouver quelques exemples dans le package com.google.gwt.user.client.rpc.core de GWT, car GWT en utilise beaucoup.
Veuillez noter que CustomFieldSerializers a encore quelques problèmes, tels que issue 2931 et issue 3315. De plus, je n'aime pas la façon dont ils sont définis: au lieu d'utiliser des méthodes statiques, il aurait été préférable de laisser les utilisateurs implémenter une interface CustomFieldSerializer<T>
. Nous aurions gagné la sécurité de type et l'héritage. Mais il s'agit d'un tout autre débat, et le compilateur GWT pourrait en fait imposer l'utilisation de ces méthodes statiques pour des raisons de performance (je ne l'ai pas examiné).
Pourtant, cela fonctionne, et il est bon de les avoir dans des cas spécifiques.