Salome HOME
CCAR:amelioration de la fonctionnalité mots clés inconnus
[tools/eficas.git] / Noyau / N_OBJECT.py
1 """ 
2     Ce module contient la classe OBJECT classe mère de tous les objets
3     servant à controler les valeurs par rapport aux définitions
4 """
5
6 class OBJECT:
7    """
8       Classe OBJECT : cette classe est virtuelle et sert de classe mère
9       aux classes de type ETAPE et MOCLES.
10       Elle ne peut etre instanciée.
11       Une sous classe doit obligatoirement implémenter les méthodes :
12
13       - __init__
14
15    """
16
17    def get_etape(self):
18       """
19          Retourne l'étape à laquelle appartient self
20          Un objet de la catégorie etape doit retourner self pour indiquer que
21          l'étape a été trouvée
22          XXX double emploi avec self.etape ???
23       """
24       if self.parent == None: return None
25       return self.parent.get_etape()
26
27    def supprime(self):
28       """ 
29          Méthode qui supprime les références arrières suffisantes pour
30          que l'objet puisse être correctement détruit par le 
31          garbage collector
32       """
33       self.parent = None
34       self.etape = None
35       self.jdc = None
36       self.niveau = None
37
38    def get_val(self):
39       """
40           Retourne la valeur de l'objet. Cette méthode fournit
41           une valeur par defaut. Elle doit etre dérivée pour chaque 
42           type d'objet
43       """
44       return self
45
46    def isBLOC(self):
47       """
48           Indique si l'objet est un BLOC
49       """
50       return 0
51
52    def get_jdc_root(self):
53       """
54           Cette méthode doit retourner l'objet racine c'est à dire celui qui
55           n'a pas de parent
56       """
57       if self.parent:
58          return self.parent.get_jdc_root()
59       else:
60          return self
61
62    def GETVAL(self,val):
63       """
64           Retourne la valeur effective du mot-clé en fonction
65           de la valeur donnée. Defaut si val == None
66       """
67       if (val is None and hasattr(self.definition,'defaut')) :
68         return self.definition.defaut
69       else:
70         return val
71