9Fermer11
SallyLe 25/06/2004 à 00:57
./8 > faut attendre que pollux passe, il est très doué pour les pseudo-arguments pipeaux auxquels il est difficile de répondre vu qu'on n'y comprend rien.
Mais moi je vais me coucher là zzz

[smiley=3]CAML POWAAAA et le reste ne mérite même pas qu'on en parle


remarque j'ai sous la main un argument pour dire que java sux, regarde ce que cette saleté me force à écrire :
private ActionListener cree_contrainte (final Class sous_classe) {
	return new ActionListener () {
		public void actionPerformed (ActionEvent _) {
			try {
				Class[] signature = {Entite_geographique.class};
				Object[] param = {getPorte_sur()};
				Contrainte nouvelle = (Contrainte)
					sous_classe.getConstructor(signature).newInstance(param);
				add (nouvelle);
				Editeur_objet.editeur (nouvelle);
			} catch (Exception __) {
				throw new InstantiationError ();
			}
		}
	};
}

	bouton_prop.addActionListener (cree_contrainte (Contrainte_propriete.class));
	bouton_rel_met.addActionListener (cree_contrainte (Contrainte_rel_metrique.class));
	bouton_rel_autre.addActionListener (cree_contrainte (Contrainte_rel_autre.class));
	bouton_complexe.addActionListener (cree_contrainte (Contrainte_complexe.class));

_rel_met#connect#clicked ~callback: (cree_contrainte (new contrainte_rel_metrique)); etc.
Dire que si on me laissait programmer en caml, ç'aurait donné ceci pour le même résultat :	let cree_contrainte constructeur () =
		let nouvelle = constructeur (getPorte_sur ()) in
		add nouvelle;
		Editeur_objet.editeur nouvelle
	in
	bouton_prop#connect#clicked ~callback: (cree_contrainte (new contrainte_propriete));
	bouton

sad