source: mauRepo/MolesManager/trunk/src/ea_model/iso_19135_2005_procedures_for_registration/re_register.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_register.py@8197
Revision 8197, 6.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:26
25
26@author: mnagni
27'''
28
29class RE_Register(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.owner = None
43        self.manager = None
44        self.version = None
45        self._containedItemClass_cl_classificationlegendclass = []
46        self._containedItemClass_cl_classificationruleclass = []
47        self._containedItemClass_cl_classificationruleclass = []
48        self._containedItemClass_cl_classificationlegendclass = []
49        self.dateOfLastChange = None
50        self.contentSummary = None
51        self.citation = []
52        self.name = None
53        self.submitter = []
54        self.uniformResourceIdentifier = []
55        self.alternativeLanguages = []
56        self.operatingLanguage = None
57        self._containedItem_cl_classificationruleitem = []
58        self._containedItem_re_subregisterdescription = []
59        self._containedItem_cl_classificationlegenditem = []
60        self._containedItem_cl_classificationlegenditem = []
61        self._containedItem_cl_classificationruleitem = []
62        super(RE_Register, self).__init__()
63
64    @property
65    def containedItemClass(self):       
66        ret = []
67        for item in self._containedItemClass_cl_classificationlegendclass:
68            ret.append(item)
69        for item in self._containedItemClass_cl_classificationruleclass:
70            ret.append(item)
71        for item in self._containedItemClass_cl_classificationruleclass:
72            ret.append(item)
73        for item in self._containedItemClass_cl_classificationlegendclass:
74            ret.append(item)
75        return ret
76
77    @containedItemClass.setter
78    def containedItemClass(self, value):       
79        if isinstance(value, list):
80            self._containedItemClass_cl_classificationlegendclass[:]
81            self._containedItemClass_cl_classificationruleclass[:]
82            self._containedItemClass_cl_classificationruleclass[:]
83            self._containedItemClass_cl_classificationlegendclass[:]
84            for item in value:
85                valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
86                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegendclass.CL_ClassificationLegendClass":
87                    self._containedItemClass_cl_classificationlegendclass.append(item)
88                    continue
89                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleclass.CL_ClassificationRuleClass":
90                    self._containedItemClass_cl_classificationruleclass.append(item)
91                    continue
92                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleclass.CL_ClassificationRuleClass":
93                    self._containedItemClass_cl_classificationruleclass.append(item)
94                    continue
95                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegendclass.CL_ClassificationLegendClass":
96                    self._containedItemClass_cl_classificationlegendclass.append(item)
97                    continue
98
99    @property
100    def containedItem(self):   
101        ret = []
102        for item in self._containedItem_cl_classificationruleitem:
103            ret.append(item)
104        for item in self._containedItem_re_subregisterdescription:
105            ret.append(item)
106        for item in self._containedItem_cl_classificationlegenditem:
107            ret.append(item)
108        for item in self._containedItem_cl_classificationlegenditem:
109            ret.append(item)
110        for item in self._containedItem_cl_classificationruleitem:
111            ret.append(item)
112        return ret
113
114    @containedItem.setter
115    def containedItem(self, value):     
116        if isinstance(value, list):
117            self._containedItem_cl_classificationruleitem[:]
118            self._containedItem_re_subregisterdescription[:]
119            self._containedItem_cl_classificationlegenditem[:]
120            self._containedItem_cl_classificationlegenditem[:]
121            self._containedItem_cl_classificationruleitem[:]
122            for item in value:
123                valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
124                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
125                    self._containedItem_cl_classificationruleitem.append(item)
126                    continue
127                if valueClass == "ea_model.iso_19135_2005_procedures_for_registration.re_subregisterdescription.RE_SubregisterDescription":
128                    self._containedItem_re_subregisterdescription.append(item)
129                    continue
130                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
131                    self._containedItem_cl_classificationlegenditem.append(item)
132                    continue
133                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationlegenditem.CL_ClassificationLegendItem":
134                    self._containedItem_cl_classificationlegenditem.append(item)
135                    continue
136                if valueClass == "ea_model.iso_19144_1_classification_systems.cl_classificationruleitem.CL_ClassificationRuleItem":
137                    self._containedItem_cl_classificationruleitem.append(item)
138                    continue
139
140    def __key(self):
141        return (self.owner, self.manager, self.version, self.containedItemClass, self.dateOfLastChange, self.contentSummary, self.citation, self.name, self.submitter, self.uniformResourceIdentifier, self.alternativeLanguages, self.operatingLanguage, self.containedItem)
142
143    def __eq__(self, y):
144        if type(self) != type(y):
145            return False
146        '''
147        Cannot compare classes which do not define a "__key" attribute
148        '''
149        if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
150            return self.__key() == y.__key()
151        return id(self) == id(y)
152
153    def __hash__(self):
154        return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.