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
InterfaceFonctionParent.java
/*
 * Crťť le 7 juin 04
 *
 */
package fonction;

import information.DomaineIncompatibleException;
import principal.copiercoller.InterfaceHomonyme;
import traitement.modele.Modele;
import traitement.noeud.fonctionnel.NoeudFonctionnelEndogene;


/**
 * ensemble de mťthodes communes ŗ toutes les fonctions (ou du moins ŗ toutes les classes)
 * contenant d'autres fonctions.
 * 
 * @author	Vincent Labatut
 * @version	1
  */
public interface InterfaceFonctionParent extends InterfaceHomonyme
{	
	/**
	 * renvoie le fils de cette fonction situť au rang spťcifiť. 
	 * 
	 * @param 	rang	rang du fils ŗ renvoyer.
	 * @return 	un des fils de cette fonction.
	  */
	public InterfaceFonctionFils getFils(int rang);
	/**
	 * insŤre un fils dans cette fonction. 
	 * 
	 * @param 	rang	nouveau fils de cette fonction.
	 * @throws	DomaineIncompatibleException	si le fils proposť n'est pas d'un Domaine compatible.
	 * 
	  */
	public void addFils(InterfaceFonctionFils rang) throws DomaineIncompatibleException;
	/**
	 * modifie un fils ŗ cette fonction. 
	 * 
	 * @param 	rang	rang du fils ŗ modifier.
	 * @param 	fils	fils ŗ substituer.
	 * @throws	DomaineIncompatibleException	si le fils proposť n'est pas d'un Domaine compatible.
	  */
	public void setFils(int rang, InterfaceFonctionFils fils) throws DomaineIncompatibleException;
	/**
	 * crťe et insŤre un fils dans cette fonction. 
	 * 
	 * @param 	classe	Class du fils ŗ crťer et insťrer.
	  */
	public void newFils(Class classe);
	/**
	 * remplace un fils par une autre fonction. 
	 * 
	 * @param 	ancien	fils ŗ remplacer.
	 * @param 	nouveau	fils qui vient se substituer.
	 * @throws	DomaineIncompatibleException	si le fils proposť n'est pas d'un Domaine compatible.
	  */
	public void remplacerFils(InterfaceFonctionFils ancien, InterfaceFonctionFils nouveau) throws DomaineIncompatibleException;
	/**
	 * supprime un fils de cette fonction. 
	 * 
	 * @param 	fils	fils ŗ supprimer.
	  */
	public void removeFils(InterfaceFonctionFils fils);
	/**
	 * supprime un fils de cette fonction. 
	 * 
	 * @param 	rang	rang du fils ŗ supprimer.
	  */
	public void removeFils(int rang);
	/**
	 * renvoie le nombre de fils de cette fonction. 
	 * 
	 * @return 	nombre de fils de cette fonction.
	  */
	public int sizeFils();
	/**
	 * renvoie le rang d'un fils de cette fonction. 
	 * 
	 * @param 	fils	fils dont on veut le rang.
	 * @return 	rang du fils passť en paramŤtre.
	  */
	public int indexOfFils(InterfaceFonctionFils fils);
	/**
	 * renvoie le ModŤle contenant indirectement cette fonction. 
	 * 
	 * @return 	le Modele contenant cette fonction.
	  */
	public Modele getModele();
	/**
	 * renvoie le NoeudFonctionnelEndogene contenant indirectement cette fonction. 
	 * 
	 * @return 	le NoeudFonctionnelEndogene contenant cette fonction.
	  */
	public NoeudFonctionnelEndogene getNoeud();
	/**
	 * transmet la modification d'un fils vers les propres parent de cette fonction.
	 * 
	 * @param	cat	catťgorie du fils concernť (Reel, Type, Similitude, etc).
	 * @param	type	type de modification subie.
	 * @param	index	index (relativement ŗ sa catťgorie) du fils modifiť.
	 * 
	  */
	public void traiterEltModif(int cat, int type, int index);
	/**
	 * 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();
	/**
	 * 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