source: mauRepo/CedaMolesModel/tags/0.1.0/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_operations/cc_operationparametergroup.py @ 8398

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/tags/0.1.0/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_operations/cc_operationparametergroup.py@8405
Revision 8398, 3.9 KB checked in by mnagni, 8 years ago (diff)

Incomplete - # 22504: CedaMoles? as python package
 http://team.ceda.ac.uk/trac/ceda/ticket/22504

  • Property svn:mime-type set to text/plain
Line 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21from ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_generaloperationparameter import  CC_GeneralOperationParameter
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 26-Jun-2012 10:16:37
26
27@author: mnagni
28'''
29
30class CC_OperationParameterGroup(CC_GeneralOperationParameter):
31        '''
32                Represents a data entity defined in a UML diagram and supposed to
33                be persisted in a relational database.
34 
35                This class has been genererated automatically using the Apache Velocity project.
36        '''
37        '''
38                Please note that any access to the inner attributes should be done using
39                the given get/set methods and NOT accessing them directly.
40        '''
41        def __init__(self):
42                self._cc_generaloperationparameter = CC_GeneralOperationParameter()     
43
44                self.name = None
45                self.remarks = None
46                self.value = []
47                self.minimumOccurs = None
48                self.maximumOccurs = None
49                self._parameter_cc_operationparameter = []
50                self._parameter_cc_operationparametergroup = []
51                self._parameter = []
52                super(CC_OperationParameterGroup, self).__init__()
53        @property
54        def identifier(self):   
55                return self._cc_generaloperationparameter.identifier
56
57        @identifier.setter
58        def identifier(self, value):   
59                        self._cc_generaloperationparameter.identifier = value
60        @property
61        def name(self):
62                return self._cc_generaloperationparameter.name
63
64        @name.setter
65        def name(self, value): 
66                        self._cc_generaloperationparameter.name = value
67        @property
68        def group(self):       
69                return self._cc_generaloperationparameter.group
70
71        @group.setter
72        def group(self, value):
73                        self._cc_generaloperationparameter.group = value
74        @property
75        def remarks(self):     
76                return self._cc_generaloperationparameter.remarks
77
78        @remarks.setter
79        def remarks(self, value):       
80                        self._cc_generaloperationparameter.remarks = value
81        @property
82        def value(self):       
83                return self._cc_generaloperationparameter.value
84
85        @value.setter
86        def value(self, value):
87                        self._cc_generaloperationparameter.value = value
88        @property
89        def alias(self):       
90                return self._cc_generaloperationparameter.alias
91
92        @alias.setter
93        def alias(self, value):
94                        self._cc_generaloperationparameter.alias = value
95        @property
96        def minimumOccurs(self):       
97                return self._cc_generaloperationparameter.minimumOccurs
98
99        @minimumOccurs.setter
100        def minimumOccurs(self, value):
101                        self._cc_generaloperationparameter.minimumOccurs = value
102        @property
103        def parameter(self):   
104                try:
105                        ret = []
106                        ret.extend(self._parameter_cc_operationparameter)
107                        ret.extend(self._parameter_cc_operationparametergroup)
108                        if not hasattr(self, '_parameter'):
109                                self._parameter = []
110                        if self._parameter:
111                                ret.extend(self._parameter)
112                        del self._parameter[:]
113                        self._parameter.extend(set(ret))
114                except Exception as e:
115                        pass
116                return self._parameter
117
118
119        def synchronize(self):
120                del self._parameter_cc_operationparameter[:]
121                del self._parameter_cc_operationparametergroup[:]
122                for item in self.parameter:     
123                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
124                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_operationparameter.CC_OperationParameter":
125                                self._parameter_cc_operationparameter.append(item)
126                                continue
127                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
128                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_operationparametergroup.CC_OperationParameterGroup":
129                                self._parameter_cc_operationparametergroup.append(item)
130                                continue
131                pass
132
133        def __key(self):
134                return (self.identifier, self.name, self.group, self.remarks, self.value, self.value, self.alias, self.minimumOccurs, self.maximumOccurs, self.parameter)
135
136        def __eq__(self, y):
137                if type(self) != type(y):
138                        return False
139                '''
140                Cannot compare classes which do not define a "__key" attribute
141                '''
142                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
143                        return self.__key() == y.__key()
144                return id(self) == id(y)
145
146        def __hash__(self):
147                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.