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