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