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
InterfaceInformation.java
/*
* Créé le 17 nov. 03
*
*/
package information;
import principal.copiercoller.InterfaceHomonyme;
import traitement.modele.Modele;
/**
* ensemble de méthodes communes à toutes les informations manipulées dans RAGE.
* Une InterfaceInformation peut être écoutée par un InformationListener.
* Elle appartient forcément à un Modele.
* Il doit toujours être possible de déterminer sa complétude.
*
* @author Vincent Labatut
* @version 1
* @see information.InformationListener
*/
public interface InterfaceInformation extends InterfaceHomonyme
{
// ----------------------------------------
// Listeners
// ----------------------------------------
/**
* ajoute un InformationListener à cette InterfaceInformation.
* Suivant la nature de cette InterfaceInformation, une InformationIncompleteException peut être levée
* (ChampCategoriel ou Symbole vide).
*
* @param i l'InformationListner à ajouter.
* @throws InformationIncompleteException si cette InterfaceInformation est vide.
*/
public void addInformationListener(InformationListener i) throws InformationIncompleteException;
/**
* retire un InformationListener de cette InterfaceInformation.
* Suivant la nature de cette InterfaceInformation, une InformationIncompleteException peut être levée
* (ChampCategoriel ou Symbole vide).
*
* @param i l'InformationListner à retirer.
* @throws InformationIncompleteException si cette InterfaceInformation est vide.
*/
public void removeInformationListener(InformationListener i) throws InformationIncompleteException;
// ----------------------------------------
// Simulation
// ----------------------------------------
/**
* détermine si cette InterfaceInformation est complètement définie.
* Cette méthode est appellée juste avant la simulation.
*
* @return vrai si cette InterfaceInformation est complètement définie, faux sinon.
*/
public boolean estComplet();
// ----------------------------------------
// Modification
// ----------------------------------------
/**
* indique si cet Objet a besoin ou pas d'être sauvegardé
* (dans le sens enregistré dans un fichier).
*
* @return vrai si cet Objet a été modifié depuis le dernier enregistrement.
*
*/
public boolean estModifie();
/**
* met à true l'indicateur de modification.
*
*/
public void setModifie();
/**
* remet à false l'indicateur de modification suite à un enregistrement.
*
*/
public void setNonModifie();
// ----------------------------------------
// Modele
// ----------------------------------------
/**
* renvoie le Modele qui contient indirectement cet objet.
*
* @return le Modele contenant cet objet.
* @throws InformationIncompleteException si l'objet est vide.
*/
public Modele getModele() throws InformationIncompleteException;
// ----------------------------------------
// This
// ----------------------------------------
/**
* supprime cet objet et tous ses constituants.
*
*/
public void remove();
}