1 #@ MODIF N_OBJECT Noyau DATE 16/05/2006 AUTEUR DURAND C.DURAND
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.
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.
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.
21 # ======================================================================
25 Ce module contient la classe OBJECT classe mère de tous les objets
26 servant à controler les valeurs par rapport aux définitions
32 Classe OBJECT : cette classe est virtuelle et sert de classe mère
33 aux classes de type ETAPE et MOCLES.
34 Elle ne peut etre instanciée.
35 Une sous classe doit obligatoirement implémenter les méthodes :
43 Retourne l'étape à laquelle appartient self
44 Un objet de la catégorie etape doit retourner self pour indiquer que
46 XXX double emploi avec self.etape ???
48 if self.parent == None: return None
49 return self.parent.get_etape()
53 Méthode qui supprime les références arrières suffisantes pour
54 que l'objet puisse etre correctement détruit par le
64 Retourne la valeur de l'objet. Cette méthode fournit
65 une valeur par defaut. Elle doit etre dérivée pour chaque
72 Indique si l'objet est un BLOC
76 def get_jdc_root(self):
78 Cette méthode doit retourner l'objet racine c'est à dire celui qui
82 return self.parent.get_jdc_root()
88 Retourne la valeur effective du mot-clé en fonction
89 de la valeur donnée. Defaut si val == None
91 if (val is None and hasattr(self.definition,'defaut')) :
92 return self.definition.defaut
96 def reparent(self,parent):
98 Cette methode sert a reinitialiser la parente de l'objet
103 class ErrorObj(OBJECT):
104 """Classe pour objets errones : emule le comportement d'un objet tel mcsimp ou mcfact
106 def __init__(self,definition,valeur,parent,nom="err"):
108 self.definition=definition
113 self.jdc = self.parent.jdc
114 #self.niveau = self.parent.niveau
115 #self.etape = self.parent.etape
121 def isvalid(self,cr='non'):
125 """ génère le rapport de validation de self """
127 self.cr.debut = "Mot-clé invalide : "+self.nom
128 self.cr.fin = "Fin Mot-clé invalide : "+self.nom
129 self.cr.fatal("Type non autorisé pour le mot-clé %s : '%s'" % (self.nom,self.valeur))