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
InterfaceFonctionFils.java
/*
 * Crťť le 17 nov. 03
 *
 */
package fonction;

import fonction.magnitude.VectorFonctionFilsMagnitude;
import gui.InterfaceAffichable;
import gui.menu.IVectorMethode;
import principal.copiercoller.CopiableIncompatibleException;
import principal.copiercoller.InterfaceCollable;
import principal.copiercoller.InterfaceCopiable;
import principal.copiercoller.InterfaceHomonyme;
import traitement.modele.Modele;
import traitement.noeud.fonctionnel.NoeudFonctionnelEndogene;


/**
 * ensemble de mťthodes communes ŗ toutes les Fonctions.
 * Une InterfaceFonctionFils peut Ítre ťcoutťe par un FonctionListener.
 * Elle appartient forcťment ŗ un InterfaceFonctionParent.
 * 
 * @author	Vincent Labatut
 * @version	1
 * @see		fonction.FonctionListener
  */
public interface InterfaceFonctionFils extends InterfaceHomonyme, InterfaceCopiable, InterfaceCollable, InterfaceAffichable 
{	/**
	* constante de classe dťsignant la catťgorie Magnitude et utilisťe en paramŤtre de certaines mťthodes.
	 */
	public static final int CAT_MAGNITUDE = 0;
	/**
	* constante de classe dťsignant la catťgorie Reel et utilisťe en paramŤtre de certaines mťthodes.
	 */
	public static final int CAT_REEL = 1;
	/**
	* constante de classe dťsignant la catťgorie Similitude et utilisťe en paramŤtre de certaines mťthodes.
	 */
	public static final int CAT_SIMILITUDE = 2;
	/**
	* constante de classe dťsignant la catťgorie TPT et utilisťe en paramŤtre de certaines mťthodes.
	 */
	public static final int CAT_TPT = 3;
	/**
	* constante de classe dťsignant la catťgorie Type et utilisťe en paramŤtre de certaines mťthodes.
	 */
	public static final int CAT_TYPE = 4;
	
//	----------------------------------------	
//	Divers
//	----------------------------------------
	/**
	 * dťtermine si cette fonction peut Ítre modifiťe par l'utilisateur. 
	 * 
	 * @return 	vrai si la fonction peut Ítre modifiťe.
	  */
	public boolean estEditable();
	/**
	 * modifie l'indicateur de modification. 
	 * 
	 * @param	flag	nouvelle valeur de l'indicateur de modification.
	  */
	public void setEditable(boolean flag);
	
//	----------------------------------------	
//	Modele
//	----------------------------------------
	/**
	 * renvoie le Modele contenant indirectement cette fonction. 
	 * 
	 * @return	le Modele contenant cette fonction.
	  */
	public Modele getModele();

//	----------------------------------------	
//	Noeud
//	----------------------------------------
	/**
	 * renvoie le NoeudFonctionnelEndogene contenant indirectement cette fonction. 
	 * 
	 * @return	le NoeudFonctionnelEndogene contenant cette fonction.
	  */
	public NoeudFonctionnelEndogene getNoeud();

//	----------------------------------------	
//	Parent
//	----------------------------------------
	/**
	 * renvoie l'InterfaceFonctionParent parent de cette fonction. 
	 * 
	 * @return	le parent de cette fonction.
	  */
	public InterfaceFonctionParent getParent();

//	----------------------------------------	
//	This
//	----------------------------------------
	/**
	 * supprime cette fonction et ses descendants. 
	 * 
	  */
	public void remove();

//	----------------------------------------	
//	InterfaceFonction
//	----------------------------------------
	/**
	 * ajoute un listener ŗ cette fonction. 
	 * 
	 * @param	i	listener ŗ ajouter ŗ cette fonction.
	  */
	public void addFonctionListener(FonctionListener i);
	/**
	 * supprime un listener de cette fonction. 
	 * 
	 * @param	i	listener ŗ supprimer de cette fonction.
	  */
	public void removeFonctionListener(FonctionListener i);

//	----------------------------------------	
//	Simulation
//	----------------------------------------
	/**
	 * dťtermine si cette fonction est entiŤrement dťfinie.
	 * 
	 * @return	vrai si la fonction est complŤte.
	 * 
	  */
	public boolean estComplet();
	/**
	 * renvoie la liste des bruits alťatoires contenus dans cette fonction et ses descendants.
	 * 
	 * @return	le VectorFonctionFilsMagnitude de bruits alťatoires.
	 * 
	  */
	public VectorFonctionFilsMagnitude getMagnitudeBruit();
	/**
	 * renvoie la liste des actions que l'utilisateur peut effectuer sur cette fonction.
	 * 
	 * @return	le IVectorMethode des actions possibles.
	 * 
	  */
	public IVectorMethode getVectorMethode();

//	----------------------------------------	
//	InterfaceCopiable
//	----------------------------------------
	/**
	 * renvoie une copie de cette fonction (et de sa descendance).
	 * La copie a le mÍme parent, mais le parent ne connait pas l'existence de la copie.
	 * DŤs le clonage terminť, il faut assigner la copie ŗ un parent.
	 * 
	 * @return	un copie de cette fonction.
	 * 
	  */
	public InterfaceFonctionFils cloner();
	/**
	 * copie cette fonction dans le buffer.
	 * 
	  */
	public void copier();
	/**
	 * colle le contenu du buffer ŗ la place de cette fonction.
	 * 
	 * @throws	CopiableIncompatibleException	si le contenu du buffer est incompatible avec le parent de cette fonction.
	 * 
	  */
	public void coller() throws CopiableIncompatibleException;

//	----------------------------------------	
//	InterfaceAffichable
//	----------------------------------------
	/**
	 * dans la GUI, demande le remplacement de cette fonction par celle passťe en paramŤtre.
	 * 
	 * @param	nouveau	InterfaceAffichable correspondant ŗ la fonction ŗ substituer ŗ cette fonction dans la GUI.
	 * 
	  */
	public void remplacer(InterfaceAffichable nouveau);
	/**
	 * dans la GUI, demande de masquer cette fonction.
	 * 
	  */
	public void cacher();
//	----------------------------------------	
//	InterfaceGraphique
//	----------------------------------------
	/**
	 * substitue (dans le parent de cette fonction) ŗ cette fonction 
	 * une fonction batie sur la Class passťe en paramŤtre.
	 * 
	 * @param	classe	Class de la nouvelle fonction.
	 * 
	  */
	public void substituer(Class classe);

//	----------------------------------------	
//	Divers
//	----------------------------------------
	public String toString();	
	/**
	 * renvoie une reprťsentation textuelle de cette fonction et de sa place
	 * dans l'arborescence des objets. Mťthode utilisťe pour le dťbuggage.
	 * 
	 * @return	une reprťsentation textuelle de cette fonction.
	 * 
	  */
	public String getIdentification();
	/**
	 * renvoie une reprťsentation textuelle de cette fonction.
	 * 
	 * @return	texte reprťsentant cette fonction.
	 * 
	  */
	public String getNom();

//	----------------------------------------	
//	Modification
//	----------------------------------------
	  /**
	  * met ŗ true l'indicateur de modification.  
	  * 
	   */
 public void setModifie();
 /**
  * remet ŗ false l'indicateur de modification suite ŗ un enregistrement.  
  * 
   */
 public void setNonModifie();
  /**
   * 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();
  /**
   * permet de connaitre la valeur de cette option.
   * Elle est obtenue en remontant dans l'arborescence du Projet.  
   * 
   * @return	vrai si l'option indique qu'il faut crťer un Noeud en cas d'absence.  
   * 
    */
  public boolean getCreerNoeudSiAbsent();
}
back to top