source: mauRepo/CedaMolesModel/tags/0.1.0/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_operations/cc_parametervaluegroup.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_parametervaluegroup.py@8405
Revision 8398, 3.0 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_generalparametervalue import  CC_GeneralParameterValue
22from ascore.utils import has_value, collectionProofHash
23
24'''
25Created on 26-Jun-2012 10:16:30
26
27@author: mnagni
28'''
29
30class CC_ParameterValueGroup(CC_GeneralParameterValue):
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_generalparametervalue = CC_GeneralParameterValue()     
43
44                self.group = None
45                self._parameterValue_cc_parametervaluegroup = []
46                self._parameterValue_cc_operationparametervalue = []
47                self._parameterValue = []
48                self.parameter = None
49                super(CC_ParameterValueGroup, self).__init__()
50        @property
51        def parameterValue(self):       
52                try:
53                        ret = []
54                        ret.extend(self._parameterValue_cc_parametervaluegroup)
55                        ret.extend(self._parameterValue_cc_operationparametervalue)
56                        if not hasattr(self, '_parameterValue'):
57                                self._parameterValue = []
58                        if self._parameterValue:
59                                ret.extend(self._parameterValue)
60                        del self._parameterValue[:]
61                        self._parameterValue.extend(set(ret))
62                except Exception as e:
63                        pass
64                return self._parameterValue
65
66        @property
67        def coordOperation(self):       
68                return self._cc_generalparametervalue.coordOperation
69
70        @coordOperation.setter
71        def coordOperation(self, value):       
72                        self._cc_generalparametervalue.coordOperation = value
73        @property
74        def parameter(self):   
75                return self._cc_generalparametervalue.parameter
76
77        @parameter.setter
78        def parameter(self, value):     
79                        self._cc_generalparametervalue.parameter = value
80
81        def synchronize(self):
82                del self._parameterValue_cc_parametervaluegroup[:]
83                del self._parameterValue_cc_operationparametervalue[:]
84                for item in self.parameterValue:       
85                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
86                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_parametervaluegroup.CC_ParameterValueGroup":
87                                self._parameterValue_cc_parametervaluegroup.append(item)
88                                continue
89                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
90                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_operationparametervalue.CC_OperationParameterValue":
91                                self._parameterValue_cc_operationparametervalue.append(item)
92                                continue
93                pass
94
95        def __key(self):
96                return (self.group, self.parameterValue, self.coordOperation, self.parameter)
97
98        def __eq__(self, y):
99                if type(self) != type(y):
100                        return False
101                '''
102                Cannot compare classes which do not define a "__key" attribute
103                '''
104                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
105                        return self.__key() == y.__key()
106                return id(self) == id(y)
107
108        def __hash__(self):
109                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.