Salome HOME
correction pour acception de concept liste
[tools/eficas.git] / Noyau / N_OBJECT.py
1 #@ MODIF N_OBJECT Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
2 # -*- coding: iso-8859-1 -*-
3 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
9 # (AT YOUR OPTION) ANY LATER VERSION.                                 
10 #
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15 #
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19 #                                                                       
20 #                                                                       
21 # ======================================================================
22
23
24 """ 
25     Ce module contient la classe OBJECT classe mère de tous les objets
26     servant à controler les valeurs par rapport aux définitions
27 """
28
29 class OBJECT:
30    """
31       Classe OBJECT : cette classe est virtuelle et sert de classe mère
32       aux classes de type ETAPE et MOCLES.
33       Elle ne peut etre instanciée.
34       Une sous classe doit obligatoirement implémenter les méthodes :
35
36       - __init__
37
38    """
39
40    def get_etape(self):
41       """
42          Retourne l'étape à laquelle appartient self
43          Un objet de la catégorie etape doit retourner self pour indiquer que
44          l'étape a été trouvée
45          XXX double emploi avec self.etape ???
46       """
47       if self.parent == None: return None
48       return self.parent.get_etape()
49
50    def supprime(self):
51       """ 
52          Méthode qui supprime les références arrières suffisantes pour
53          que l'objet puisse etre correctement détruit par le 
54          garbage collector
55       """
56       self.parent = None
57       self.etape = None
58       self.jdc = None
59       self.niveau = None
60
61    def get_val(self):
62       """
63           Retourne la valeur de l'objet. Cette méthode fournit
64           une valeur par defaut. Elle doit etre dérivée pour chaque 
65           type d'objet
66       """
67       return self
68
69    def isBLOC(self):
70       """
71           Indique si l'objet est un BLOC
72       """
73       return 0
74
75    def get_jdc_root(self):
76       """
77           Cette méthode doit retourner l'objet racine c'est à dire celui qui
78           n'a pas de parent
79       """
80       if self.parent:
81          return self.parent.get_jdc_root()
82       else:
83          return self
84
85    def GETVAL(self,val):
86       """
87           Retourne la valeur effective du mot-clé en fonction
88           de la valeur donnée. Defaut si val == None
89       """
90       if (val is None and hasattr(self.definition,'defaut')) :
91         return self.definition.defaut
92       else:
93         return val
94
95    def reparent(self,parent):
96       """
97          Cette methode sert a reinitialiser la parente de l'objet
98       """
99       self.parent=parent
100       self.jdc=parent.jdc
101