Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2210 → Rev 2211

/branches/v1.12-magnesium/src/org/tela_botanica/del/client/composants/rss/RssPresenteur.java
New file
0,0 → 1,63
package org.tela_botanica.del.client.composants.rss;
 
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.Observation;
 
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class RssPresenteur extends Presenteur {
 
// Définition de la vue
public abstract interface Vue extends IsWidget {
void setLien(String lien);
void setLabelLien(String label);
}
// Variables
private Vue vue;
private String lien = "";
private Config config = new Config();
//Constructeur
public RssPresenteur(Vue vue) {
this.vue = vue;
}
public RssPresenteur(Vue vue, InformationsRecherche recherche, String label) {
this.vue = vue;
vue.setLabelLien(label);
genererLien(recherche);
}
public RssPresenteur(Vue vue, Observation observation, String label) {
this.vue = vue;
vue.setLabelLien(label);
genererLien(observation);
}
public void genererLien(InformationsRecherche recherche) {
this.lien = config.getUrl("rss") + recherche.versChaineRequete();
gererEvenements();
}
public void genererLien(Observation observation) {
String idObs = observation.getId();
this.lien = config.getUrl("rss") + "&masque.observation=" + idObs;
}
@Override
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
gererEvenements();
}
 
@Override
protected void gererEvenements() {
vue.setLien(this.lien);
}
 
}