Par curiosité, j'ai vérifié comment sont générés autobeans
. Je l'ai trouvé utilise sun.misc.ProxyGenerator
classe pour générer autobean
proxies
et qu'il utilise reflections
. Mais je ne comprends pas, comment ça marche du côté client. Ces méthodes qui utilisent reflections
sont-elles compilées à javascript
? Cela signifie-t-il que je peux utiliser des réflexions moi-même sur le client?Google Web Toolkit Autobeans
Répondre
Les instances proxy sont uniquement utilisées sur le serveur, dans une machine virtuelle Java réelle, où la réflexion fonctionne. Vous avez raison: le code GWT ne peut pas utiliser une réflexion générale.
Pour les générer sur le client, un générateur GWT est utilisé à la place. Cela fait toute la réflexion pendant que le compilateur GWT est toujours en cours d'exécution, et il en va de même dans une vraie JVM, et crée de nouvelles classes qui implémente vos interfaces et usines autobean.
La classe com.google.web.bindery.autobean.gwt.rebind.AutoBeanGenerator
est principalement responsable de ce travail, et le contenu du package com.google.web.bindery.autobean.gwt.rebind.model
(et, dans une certaine mesure, com.google.web.bindery.autobean.shared
) facilite ce travail.
Merci! Vérifié dans les classes d'implémentation du débogueur autobean, ils n'utilisent sûrement pas de proxies sur le client! – Heisenberg