2013-02-12 4 views
0

J'utilise la bibliothèque resty-gwt et je me demande s'il serait possible d'utiliser dynamiquement l'interface JsonEncoderDecoder?Génération de code dynamique Resty-GWT

par ex. J'ai POJO comme suit:

@JsonTypeInfo(use=Id.CLASS, include=As.PROPERTY, property="class") 
public class MyObject {....} 

Avec le nom de classe retournée dans la réponse: est-il possible en utilisant des générateurs pour générer l'interface

public interface MyObjectCodec extends JsonEncoderDecoder<MyObject > {} 

et en quelque sorte faire un appel à GWT.create (MyObjectCodec .class) afin que je puisse décoder l'objet?

Répondre

0

Je crois que vous pouvez même si je n'ai jamais essayé.

Extrait de restyGWT.gwt.xml

<generate-with class="org.fusesource.restygwt.rebind.RestServiceGenerator"> 
    <when-type-assignable class="org.fusesource.restygwt.client.RestService" /> 
    </generate-with> 
    <generate-with class="org.fusesource.restygwt.rebind.JsonEncoderDecoderGenerator"> 
    <when-type-assignable class="org.fusesource.restygwt.client.JsonEncoderDecoder" /> 
    </generate-with> 
    <generate-with class="org.fusesource.restygwt.rebind.DirectRestServiceGenerator"> 
    <when-type-assignable class="org.fusesource.restygwt.client.DirectRestService" /> 
    </generate-with> 

Donc, si vous écrivez un JsonEncoderDecoder le générateur doit générer le code pour vous.

Vous devriez être en mesure d'utiliser la méthode JSONValue encode(T value) pour encoder votre objet dans JsonValue

Je ne sais pas ce que vous entendez par dynamique, mais l'OMI, il est tout « statique » qui signifie qu'il ne dépend pas vraiment des variables d'exécution ou n'importe quoi.