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
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();
}
back to top