1import collections
2import copy
3from .Utils import _write_complex_object
4
5class User(object):
6    """Data contract class for type User.
7    """
8    _defaults = collections.OrderedDict([
9        ('ai.user.accountId', None),
10        ('ai.user.id', None),
11        ('ai.user.authUserId', None)
12    ])
13
14    def __init__(self):
15        """Initializes a new instance of the class.
16        """
17        self._values = {
18        }
19        self._initialize()
20
21    @property
22    def account_id(self):
23        """The account_id property.
24
25        Returns:
26            (string). the property value. (defaults to: None)
27        """
28        if 'ai.user.accountId' in self._values:
29            return self._values['ai.user.accountId']
30        return self._defaults['ai.user.accountId']
31
32    @account_id.setter
33    def account_id(self, value):
34        """The account_id property.
35
36        Args:
37            value (string). the property value.
38        """
39        if value == self._defaults['ai.user.accountId'] and 'ai.user.accountId' in self._values:
40            del self._values['ai.user.accountId']
41        else:
42            self._values['ai.user.accountId'] = value
43
44    @property
45    def id(self):
46        """The id property.
47
48        Returns:
49            (string). the property value. (defaults to: None)
50        """
51        if 'ai.user.id' in self._values:
52            return self._values['ai.user.id']
53        return self._defaults['ai.user.id']
54
55    @id.setter
56    def id(self, value):
57        """The id property.
58
59        Args:
60            value (string). the property value.
61        """
62        if value == self._defaults['ai.user.id'] and 'ai.user.id' in self._values:
63            del self._values['ai.user.id']
64        else:
65            self._values['ai.user.id'] = value
66
67    @property
68    def auth_user_id(self):
69        """The auth_user_id property.
70
71        Returns:
72            (string). the property value. (defaults to: None)
73        """
74        if 'ai.user.authUserId' in self._values:
75            return self._values['ai.user.authUserId']
76        return self._defaults['ai.user.authUserId']
77
78    @auth_user_id.setter
79    def auth_user_id(self, value):
80        """The auth_user_id property.
81
82        Args:
83            value (string). the property value.
84        """
85        if value == self._defaults['ai.user.authUserId'] and 'ai.user.authUserId' in self._values:
86            del self._values['ai.user.authUserId']
87        else:
88            self._values['ai.user.authUserId'] = value
89
90    def _initialize(self):
91        """Initializes the current instance of the object.
92        """
93        pass
94
95    def write(self):
96        """Writes the contents of this object and returns the content as a dict object.
97
98        Returns:
99            (dict). the object that represents the same data as the current instance.
100        """
101        return _write_complex_object(self._defaults, self._values)
102
103