https://hal.archives-ouvertes.fr/hal-02177293
Raw File
Tip revision: a5c3a632ff52caf942ac0457ce1ec733926a867b authored by Software Heritage on 01 January 2004, 00:00:00 UTC
hal: Deposit 315 in collection hal
Tip revision: a5c3a63
InterfaceDistance.java
/*
 * Créé le 14 nov. 03
 *
 */
package traitement.distance;

import information.DomaineIncompatibleException;
import information.InformationIncompleteException;
import information.type.Type;
import principal.copiercoller.HomonymeIntrouvableException;
import principal.copiercoller.InterfaceHomonyme;
import traitement.InterfaceTraitement;
import traitement.modele.Modele;


/**
 * ensemble de méthodes communes à toutes fonctions de Distance.
 * 
 * @author	Vincent Labatut
 * @version	1
 * @see		information.type.Type
  */
public interface InterfaceDistance extends InterfaceTraitement, InterfaceHomonyme
{	
//	----------------------------------------	
//	Parent
//	----------------------------------------
	/**
	 * renvoie le Parent de cette Distance.  
	 * 
	 * @return	l'InterfaceContientDistance contenant cette Distance.
	  */
	public InterfaceContientDistance getParent();
	/**
	 * remplace le parent de cette Distance par celui
	 * passé en paramètre.
	 * Un TraitementEvent de raffraichissement est émis.
	 * 
	 * @param	p	le nouveau parent de cette Distance.
	  */
	public void setParent(InterfaceContientDistance p);
	
//	----------------------------------------	
//	Simulation
//	----------------------------------------
	/*
	 * 
	 */
	public boolean estComplet();
	/**
	 * renvoie la mesure de Distance entre les deux Types passés en paramètres
	 * en utilisant cette fonction de Distance.
	 * 
	 * @param 	arg1	premier type à comparer.
	 * @param 	arg2	second type à comparer.
	 * @return	la mesure de distance correspondante.
	 * @throws	DomaineIncompatibleException si les Domaines des deux Types ne sont pas compatibles.
	 * @throws	InformationIncompleteException si un des deux Types est incomplet.
	  */
	public double evaluer(Type arg1, Type arg2) throws DomaineIncompatibleException, InformationIncompleteException;

//	----------------------------------------	
//	Copier/Coller/Undo
//	----------------------------------------
	/**
	 * renvoie une copie de cette Distance.
	 * 
	 * @return 	une copie de cette Distance.
	  */
	public InterfaceDistance cloner();
	/*
	 * 
	 */
	public InterfaceHomonyme getHomonyme(Modele modele) throws HomonymeIntrouvableException;
	/**
	 * appelée quand cette Distance est remplacée par un autre.
	 * Un TraitementEvent de remplacement est émis.  
	 * 
	 * @param	nouveau	Distance venant remplacer cette Distance.
	  */
	public void remplacer(InterfaceDistance nouveau);
	/**
	 * demande à la GUI de fermer tout objet de la GUI qui affiche
	 * cette Distance.
	 * Un TraitementEvent de masquage est émis.  
	 * 
	  */
	public void cacher();
	/**
	 * renvoie une représentation textuelle de cette Distance, en 
	 * remontant à partir de celle-ci jusqu'à ses parents.
	 * (utilisé lors du débuggage)  
	 * 
	 * @return	une représentation textuelle de cette Distance.
	  */
	public String getIdentification();
}
back to top