@utilities.arguments_not_none<EOL><INDENT>def set_domain(self, domain):<DEDENT>
if self.get_domain_metadata().is_read_only():<EOL><INDENT>raise errors.NoAccess()<EOL><DEDENT>if not self._is_valid_string(domain,<EOL>self.get_domain_metadata()):<EOL><INDENT>raise errors.InvalidArgument()<EOL><DEDENT>self._my_map['<STR_LIT>']['<STR_LIT:text>'] = domain<EOL>
Sets a domain.

        arg:    domain (string): the new domain
        raise:  InvalidArgument - ``domain`` is invalid
        raise:  NoAccess - ``domain`` cannot be modified
        raise:  NullArgument - ``domain`` is ``null``
        *compliance: mandatory -- This method must be implemented.*