source: mauRepo/MolesManager/trunk/src/ea_model/iso_19103_2005_schema_language/basic_types/implementation/collections/circularsequence.py @ 8086

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/mauRepo/MolesManager/trunk/src/ea_model/iso_19103_2005_schema_language/basic_types/implementation/collections/circularsequence.py@8086
Revision 8086, 1.5 KB checked in by mnagni, 8 years ago (diff)

Fixed the multiple CI_Party INSERT in the DB
Refactored the ingestion thanks to the new eq method in the imported classes DB library

Line 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18from ea_model.iso_19103_2005_schema_language.basic_types.implementation.collections.sequence import  Sequence
19
20'''
21Created on 03-Feb-2012 10:41:12
22
23@author: mnagni
24'''
25
26class CircularSequence(Sequence):
27    '''
28        Represents a data entity defined in a UML diagram and supposed to
29        be persisted in a relational database.
30 
31        This class has been genererated automatically using the Apache Velocity project.
32    '''
33    '''
34        Please note that any access to the inner attributes should be done using
35        the given get/set methods and NOT accessing them directly.
36    '''
37    def __init__(self):
38        self._sequence = Sequence()     
39
40        self.length = None
41        self.element = None
42        super(CircularSequence, self).__init__()
43
44    @property
45    def length(self):
46        return self._sequence.length
47
48    @length.setter
49    def length(self, value):
50            self._sequence.length = value
51
52    @property
53    def element(self):
54        return self._sequence.element
55
56    @element.setter
57    def element(self, value):
58            self._sequence.element = value
59
60    def __key(self):
61        return (self.length, self.element)
62
63    def __eq__(x, y):
64        '''
65        Cannot compare classes which do not define a "__key" attribute
66        '''
67        if hasattr(x, '_%s__key' % (type(x).__name__)) and hasattr(y, '_%s__key' % (type(y).__name__)):
68            return x.__key() == y.__key()
69        return id(x) == id(y)
70
71    def __hash__(self):
72        return hash(self.__key())
Note: See TracBrowser for help on using the repository browser.