j'ai une classe qui étend AbstractGinModuleGoogle GIN AbstractGinModule & GWT.create()
comme:
public class ClientModule extends AbstractGinModule {
public ClientModule() { }
@Override
protected void configure() {
...
...
bind(...class).annotatedWith(...).to(...class).in(Singleton.class);
...
}
}
L'idée que j'ai est de lier une classe avec une autre classe basée sur un valeur stockée dans un fichier de propriétés.
comme:
contient la valeur param provenant du fichier de propriétés
if(param.equals("instanceB"))
bind(a.class).to(b.class)
else
bind(a.class).to(c.class)
J'ai une classe accéder à ce fichier de propriétés et retourner une chaîne avec la valeur. Cette classe est appelée: InstanceParameters.java
Je voudrais obtenir une instance de cette classe dans mon ClientModule. Mais je ne trouve aucun moyen de le faire. J'ai essayé avec:
- InstanceParameters param = new InstanceParameters();
- GWT.create(InstanceParameters.class); (Error because this method should only be used on the client side)
est-il un moyen d'accéder à cette classe InstanceParameters dans ce clientModule?
Merci pour votre aide
Vous n'avez pas publié la classe 'InstanceParameters', mais j'imagine que vous utilisez des classes Java pour lire les fichiers du disque dur - ce qui n'est pas supporté par le sous-ensemble de JRE de GWT. Qu'est-ce que vous essayez exactement de réaliser en "contrôlant" la compilation via un fichier de propriétés? Pourquoi ne pouvez-vous pas faire cela à partir des classes Java (par exemple, via des annotations)? –
La classe instanceParameters utilise un objet Dictionary "com.google.gwt.i18n.client.Dictionary". Dans le constructeur de InstanceParameters j'instancie le dictionnaire par "this.parameters = Dictionary.getDictionary (" NameOfFile ");" . Et c'est la méthode que j'utilise pour obtenir la valeur de ce fichier "return parameters.get (" applicationTitleShort ");". Normalement, ça devrait aller. – AbstractMan
J'ai juste essayé de créer une classe simple avec un attribut. (getter & setter associé). Et je peux instancier celui-ci dans le ClientModule. Je ne comprends pas ... – AbstractMan