2015-08-11 1 views
0

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 autobeanproxies 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

1

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.

+0

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