source: mauRepo/MolesManager/trunk/src/ea_model/iso_19135_2005_procedures_for_registration/re_registeritem.py @ 8197

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/MolesManager/trunk/src/ea_model/iso_19135_2005_procedures_for_registration/re_registeritem.py@8197
Revision 8197, 10.4 KB checked in by mnagni, 8 years ago (diff)

New database schema where URL class is a string and MO_Project.subProject use CEDA_Project as subType

Line 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21from ascore.utils import has_value, collectionProofHash
22
23'''
24Created on 30-Mar-2012 16:45:27
25
26@author: mnagni
27'''
28
29class RE_RegisterItem(object):
30    '''
31        Represents a data entity defined in a UML diagram and supposed to
32        be persisted in a relational database.
33 
34        This class has been genererated automatically using the Apache Velocity project.
35    '''
36    '''
37        Please note that any access to the inner attributes should be done using
38        the given get/set methods and NOT accessing them directly.
39    '''
40    def __init__(self):
41
42        self.alternativeExpressions = []
43        self.additionInformation = []
44        self._itemClass_cl_classificationlegendclass = None
45        self._itemClass_cl_classificationruleclass = None
46        self._itemClass_cl_classificationruleclass = None
47        self._itemClass_cl_classificationlegendclass = None
48        self._register_cl_classificationregister = []
49        self._register_cl_classificationregister = []
50        self.dateAmended = None
51        self.specificationLineage = []
52        self._predecessor_cl_classificationruleitem = []
53        self._predecessor_re_subregisterdescription = []
54        self._predecessor_cl_classificationlegenditem = []
55        self._predecessor_cl_classificationlegenditem = []
56        self._predecessor_cl_classificationruleitem = []
57        self.itemIdentifier = None
58        self.fieldOfApplication = []
59        self.definition = None
60        self._successor_cl_classificationruleitem = []
61        self._successor_re_subregisterdescription = []
62        self._successor_cl_classificationlegenditem = []
63        self._successor_cl_classificationlegenditem = []
64        self._successor_cl_classificationruleitem = []
65        self.amendmentInformation = []
66        self.name = None
67        self.status = None
68        self.description = None
69        self.specificationSource = None
70        self.dateAccepted = None
71        self.clarificationInformation = []
72        super(RE_RegisterItem, self).__init__()
73
74    @property
75    def itemClass(self):       
76        if(has_value(self._itemClass_cl_classificationlegendclass)):
77            return self._itemClass_cl_classificationlegendclass
78        if(has_value(self._itemClass_cl_classificationruleclass)):
79            return self._itemClass_cl_classificationruleclass
80        if(has_value(self._itemClass_cl_classificationruleclass)):
81            return self._itemClass_cl_classificationruleclass
82        if(has_value(self._itemClass_cl_classificationlegendclass)):
83            return self._itemClass_cl_classificationlegendclass
84        return  None
85
86    @itemClass.setter
87    def itemClass(self, value): 
88        valueClass = "%s.%s" % (type(value).__module__,type(value).__name__)
89        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegendclass.CL_ClassificationLegendClass":
90            self._itemClass_cl_classificationlegendclass = value
91            self._itemClass_cl_classificationruleclass = None
92            self._itemClass_cl_classificationruleclass = None
93            self._itemClass_cl_classificationlegendclass = None
94        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleclass.CL_ClassificationRuleClass":
95            self._itemClass_cl_classificationruleclass = value
96            self._itemClass_cl_classificationlegendclass = None
97            self._itemClass_cl_classificationruleclass = None
98            self._itemClass_cl_classificationlegendclass = None
99        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleclass.CL_ClassificationRuleClass":
100            self._itemClass_cl_classificationruleclass = value
101            self._itemClass_cl_classificationlegendclass = None
102            self._itemClass_cl_classificationruleclass = None
103            self._itemClass_cl_classificationlegendclass = None
104        if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegendclass.CL_ClassificationLegendClass":
105            self._itemClass_cl_classificationlegendclass = value
106            self._itemClass_cl_classificationlegendclass = None
107            self._itemClass_cl_classificationruleclass = None
108            self._itemClass_cl_classificationruleclass = None
109
110    @property
111    def register(self): 
112        ret = []
113        for item in self._register_cl_classificationregister:
114            ret.append(item)
115        for item in self._register_cl_classificationregister:
116            ret.append(item)
117        return ret
118
119    @register.setter
120    def register(self, value): 
121        if isinstance(value, list):
122            self._register_cl_classificationregister[:]
123            self._register_cl_classificationregister[:]
124            for item in value:
125                valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
126                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationregister.CL_ClassificationRegister":
127                    self._register_cl_classificationregister.append(item)
128                    continue
129                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationregister.CL_ClassificationRegister":
130                    self._register_cl_classificationregister.append(item)
131                    continue
132
133    @property
134    def predecessor(self):     
135        ret = []
136        for item in self._predecessor_cl_classificationruleitem:
137            ret.append(item)
138        for item in self._predecessor_re_subregisterdescription:
139            ret.append(item)
140        for item in self._predecessor_cl_classificationlegenditem:
141            ret.append(item)
142        for item in self._predecessor_cl_classificationlegenditem:
143            ret.append(item)
144        for item in self._predecessor_cl_classificationruleitem:
145            ret.append(item)
146        return ret
147
148    @predecessor.setter
149    def predecessor(self, value):       
150        if isinstance(value, list):
151            self._predecessor_cl_classificationruleitem[:]
152            self._predecessor_re_subregisterdescription[:]
153            self._predecessor_cl_classificationlegenditem[:]
154            self._predecessor_cl_classificationlegenditem[:]
155            self._predecessor_cl_classificationruleitem[:]
156            for item in value:
157                valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
158                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
159                    self._predecessor_cl_classificationruleitem.append(item)
160                    continue
161                if valueClass == "ea_model.iso_19135_2005_procedures_for_registration.re_subregisterdescription.RE_SubregisterDescription":
162                    self._predecessor_re_subregisterdescription.append(item)
163                    continue
164                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
165                    self._predecessor_cl_classificationlegenditem.append(item)
166                    continue
167                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
168                    self._predecessor_cl_classificationlegenditem.append(item)
169                    continue
170                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
171                    self._predecessor_cl_classificationruleitem.append(item)
172                    continue
173
174    @property
175    def successor(self):       
176        ret = []
177        for item in self._successor_cl_classificationruleitem:
178            ret.append(item)
179        for item in self._successor_re_subregisterdescription:
180            ret.append(item)
181        for item in self._successor_cl_classificationlegenditem:
182            ret.append(item)
183        for item in self._successor_cl_classificationlegenditem:
184            ret.append(item)
185        for item in self._successor_cl_classificationruleitem:
186            ret.append(item)
187        return ret
188
189    @successor.setter
190    def successor(self, value): 
191        if isinstance(value, list):
192            self._successor_cl_classificationruleitem[:]
193            self._successor_re_subregisterdescription[:]
194            self._successor_cl_classificationlegenditem[:]
195            self._successor_cl_classificationlegenditem[:]
196            self._successor_cl_classificationruleitem[:]
197            for item in value:
198                valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
199                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
200                    self._successor_cl_classificationruleitem.append(item)
201                    continue
202                if valueClass == "ea_model.iso_19135_2005_procedures_for_registration.re_subregisterdescription.RE_SubregisterDescription":
203                    self._successor_re_subregisterdescription.append(item)
204                    continue
205                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
206                    self._successor_cl_classificationlegenditem.append(item)
207                    continue
208                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
209                    self._successor_cl_classificationlegenditem.append(item)
210                    continue
211                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
212                    self._successor_cl_classificationruleitem.append(item)
213                    continue
214
215    def __key(self):
216        return (self.alternativeExpressions, self.additionInformation, self.itemClass, self.register, self.dateAmended, self.specificationLineage, self.predecessor, self.itemIdentifier, self.fieldOfApplication, self.definition, self.successor, self.amendmentInformation, self.name, self.status, self.description, self.specificationSource, self.dateAccepted, self.clarificationInformation)
217
218    def __eq__(self, y):
219        if type(self) != type(y):
220            return False
221        '''
222        Cannot compare classes which do not define a "__key" attribute
223        '''
224        if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
225            return self.__key() == y.__key()
226        return id(self) == id(y)
227
228    def __hash__(self):
229        return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.