source: mauRepo/CedaMolesModel/tags/0.1.0/ceda_moles_model/ea_model/iso_19111_referencing_by_coordinates/coordinate_operations/cc_generaloperationparameter.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_generaloperationparameter.py
Revision 8398, 3.1 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.identified_objects.io_identifiedobject import  IO_IdentifiedObject
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_GeneralOperationParameter(IO_IdentifiedObject):
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._io_identifiedobject = IO_IdentifiedObject()       
43
44                self.name = None
45                self.group = []
46                self.remarks = None
47                self._value_cc_parametervaluegroup = []
48                self._value_cc_operationparametervalue = []
49                self._value = []
50                self.minimumOccurs = None
51                super(CC_GeneralOperationParameter, self).__init__()
52        @property
53        def identifier(self):   
54                return self._io_identifiedobject.identifier
55
56        @identifier.setter
57        def identifier(self, value):   
58                        self._io_identifiedobject.identifier = value
59        @property
60        def name(self):
61                return self._io_identifiedobject.name
62
63        @name.setter
64        def name(self, value): 
65                        self._io_identifiedobject.name = value
66        @property
67        def remarks(self):     
68                return self._io_identifiedobject.remarks
69
70        @remarks.setter
71        def remarks(self, value):       
72                        self._io_identifiedobject.remarks = value
73        @property
74        def value(self):       
75                try:
76                        ret = []
77                        ret.extend(self._value_cc_parametervaluegroup)
78                        ret.extend(self._value_cc_operationparametervalue)
79                        if not hasattr(self, '_value'):
80                                self._value = []
81                        if self._value:
82                                ret.extend(self._value)
83                        del self._value[:]
84                        self._value.extend(set(ret))
85                except Exception as e:
86                        pass
87                return self._value
88
89        @property
90        def alias(self):       
91                return self._io_identifiedobject.alias
92
93        @alias.setter
94        def alias(self, value):
95                        self._io_identifiedobject.alias = value
96
97        def synchronize(self):
98                del self._value_cc_parametervaluegroup[:]
99                del self._value_cc_operationparametervalue[:]
100                for item in self.value:
101                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
102                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_parametervaluegroup.CC_ParameterValueGroup":
103                                self._value_cc_parametervaluegroup.append(item)
104                                continue
105                        valueClass = "%s.%s" % (type(item).__module__,type(item).__name__)
106                        if valueClass == "ea_model.iso_19111_referencing_by_coordinates.coordinate_operations.cc_operationparametervalue.CC_OperationParameterValue":
107                                self._value_cc_operationparametervalue.append(item)
108                                continue
109                pass
110
111        def __key(self):
112                return (self.identifier, self.name, self.group, self.remarks, self.value, self.alias, self.minimumOccurs)
113
114        def __eq__(self, y):
115                if type(self) != type(y):
116                        return False
117                '''
118                Cannot compare classes which do not define a "__key" attribute
119                '''
120                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
121                        return self.__key() == y.__key()
122                return id(self) == id(y)
123
124        def __hash__(self):
125                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.