https://hal.archives-ouvertes.fr/hal-02177293
Tip revision: a5c3a632ff52caf942ac0457ce1ec733926a867b authored by Software Heritage on 01 January 2004, 00:00:00 UTC
hal: Deposit 315 in collection hal
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();
}