Salome HOME
*** empty log message ***
[tools/eficas.git] / Noyau / N_OBJECT.py
1 # -*- coding: utf-8 -*-
2 #@ MODIF N_OBJECT Noyau  DATE 04/02/2004   AUTEUR CAMBIER S.CAMBIER 
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     Ce module contient la classe OBJECT classe mère de tous les objets
24     servant à controler les valeurs par rapport aux définitions
25 """
26
27 class OBJECT:
28    """
29       Classe OBJECT : cette classe est virtuelle et sert de classe mère
30       aux classes de type ETAPE et MOCLES.
31       Elle ne peut etre instanciée.
32       Une sous classe doit obligatoirement implémenter les méthodes :
33
34       - __init__
35
36    """
37
38    def get_etape(self):
39       """
40          Retourne l'étape à laquelle appartient self
41          Un objet de la catégorie etape doit retourner self pour indiquer que
42          l'étape a été trouvée
43          XXX double emploi avec self.etape ???
44       """
45       if self.parent == None: return None
46       return self.parent.get_etape()
47
48    def supprime(self):
49       """ 
50          Méthode qui supprime les références arrières suffisantes pour
51          que l'objet puisse etre correctement détruit par le 
52          garbage collector
53       """
54       self.parent = None
55       self.etape = None
56       self.jdc = None
57       self.niveau = None
58
59    def get_val(self):
60       """
61           Retourne la valeur de l'objet. Cette méthode fournit
62           une valeur par defaut. Elle doit etre dérivée pour chaque 
63           type d'objet
64       """
65       return self
66
67    def isBLOC(self):
68       """
69           Indique si l'objet est un BLOC
70       """
71       return 0
72
73    def get_jdc_root(self):
74       """
75           Cette méthode doit retourner l'objet racine c'est à dire celui qui
76           n'a pas de parent
77       """
78       if self.parent:
79          return self.parent.get_jdc_root()
80       else:
81          return self
82
83    def GETVAL(self,val):
84       """
85           Retourne la valeur effective du mot-clé en fonction
86           de la valeur donnée. Defaut si val == None
87       """
88       if (val is None and hasattr(self.definition,'defaut')) :
89         return self.definition.defaut
90       else:
91         return val
92
93    def reparent(self,parent):
94       """
95          Cette methode sert a reinitialiser la parente de l'objet
96       """
97       self.parent=parent
98       self.jdc=parent.jdc
99