source: mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_edge.py @ 8457

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/CedaMolesModel/trunk/ceda_moles_model/ea_model/iso_19107_2003_spatial_schema/topology/topological_primitive/tp_edge.py@8457
Revision 8457, 4.1 KB checked in by mnagni, 7 years ago (diff)

Corrected an error in the generation of the classes "synchronize" method.

  • 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_19107_2003_spatial_schema.topology.topological_primitive.tp_directededge import  TP_DirectedEdge
22from ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_primitive import  TP_Primitive
23from ascore.utils import has_value, collectionProofHash
24
25'''
26Created on 10-Jul-2012 14:15:09
27
28@author: mnagni
29'''
30
31class TP_Edge(TP_DirectedEdge,TP_Primitive):
32        '''
33                Represents a data entity defined in a UML diagram and supposed to
34                be persisted in a relational database.
35 
36                This class has been genererated automatically using the Apache Velocity project.
37        '''
38        '''
39                Please note that any access to the inner attributes should be done using
40                the given get/set methods and NOT accessing them directly.
41        '''
42        def __init__(self):
43                self._tp_directededge = TP_DirectedEdge()       
44                self._tp_primitive = TP_Primitive()     
45
46                self.topo = None
47                self.topo = None
48                self.orientation = None
49                self.maximalComplex = None
50                self.spoke = []
51                self.hub = None
52                self._proxy_nt_link = None
53                self._proxy_tp_edge = None
54                self._proxy = None
55                self.geometry = None
56                self.boundary = None
57                self.container = None
58                super(TP_Edge, self).__init__()
59        @property
60        def topo(self):
61                return self._tp_directededge.topo
62
63        @topo.setter
64        def topo(self, value): 
65                        self._tp_directededge.topo = value
66        @property
67        def topo(self):
68                return self._tp_directededge.topo
69
70        @topo.setter
71        def topo(self, value): 
72                        self._tp_directededge.topo = value
73        @property
74        def orientation(self): 
75                return self._tp_directededge.orientation
76
77        @orientation.setter
78        def orientation(self, value):   
79                        self._tp_directededge.orientation = value
80        @property
81        def maximalComplex(self):       
82                return self._tp_directededge.maximalComplex
83
84        @maximalComplex.setter
85        def maximalComplex(self, value):       
86                        self._tp_directededge.maximalComplex = value
87        @property
88        def hub(self): 
89                return self._tp_directededge.hub
90
91        @hub.setter
92        def hub(self, value):   
93                        self._tp_directededge.hub = value
94        @property
95        def isolated(self):     
96                return self._tp_directededge.isolated
97
98        @isolated.setter
99        def isolated(self, value):     
100                        self._tp_directededge.isolated = value
101        @property
102        def proxy(self):       
103                if(has_value(self._proxy_nt_link)):
104                        return self._proxy_nt_link
105                if(has_value(self._proxy_tp_edge)):
106                        return self._proxy_tp_edge
107                return  None
108
109        @proxy.setter
110        def proxy(self, value):
111                valueClass = "%s.%s" % (type(value).__module__,type(value).__name__)
112                if valueClass == "ea_model.iso_19133_tracking_and_navigation.network.link.nt_link.NT_Link":
113                        self._proxy_nt_link = value
114                        self._proxy_tp_edge = None
115                if valueClass == "ea_model.iso_19107_2003_spatial_schema.topology.topological_primitive.tp_edge.TP_Edge":
116                        self._proxy_tp_edge = value
117                        self._proxy_nt_link = None
118        @property
119        def geometry(self):     
120                return self._tp_directededge.geometry
121
122        @geometry.setter
123        def geometry(self, value):     
124                        self._tp_directededge.geometry = value
125        @property
126        def complex(self):     
127                return self._tp_directededge.complex
128
129        @complex.setter
130        def complex(self, value):       
131                        self._tp_directededge.complex = value
132        @property
133        def primitive(self):   
134                return self._tp_directededge.primitive
135
136        @primitive.setter
137        def primitive(self, value):     
138                        self._tp_directededge.primitive = value
139        @property
140        def container(self):   
141                return self._tp_directededge.container
142
143        @container.setter
144        def container(self, value):     
145                        self._tp_directededge.container = value
146        @property
147        def term(self):
148                return self._tp_directededge.term
149
150        @term.setter
151        def term(self, value): 
152                        self._tp_directededge.term = value
153
154        def synchronize(self):
155                pass
156
157        def __key(self):
158                return (self.topo, self.topo, self.orientation, self.maximalComplex, self.spoke, self.hub, self.isolated, self.proxy, self.geometry, self.complex, self.primitive, self.boundary, self.container, self.term)
159
160        def __eq__(self, y):
161                if type(self) != type(y):
162                        return False
163                '''
164                Cannot compare classes which do not define a "__key" attribute
165                '''
166                if hasattr(self, '_%s__key' % (type(self).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
167                        return self.__key() == y.__key()
168                return id(self) == id(y)
169
170        def __hash__(self):
171                return collectionProofHash(self.__key())
Note: See TracBrowser for help on using the repository browser.