@utilities.arguments_not_none<EOL><INDENT>def set_license(self, license_):<DEDENT>
if license_ is None:<EOL><INDENT>raise NullArgument('<STR_LIT>')<EOL><DEDENT>if not utilities.is_string(license_):<EOL><INDENT>raise InvalidArgument('<STR_LIT>')<EOL><DEDENT>if self.get_license_metadata().is_read_only():<EOL><INDENT>raise NoAccess()<EOL><DEDENT>if not self.my_osid_object_form._is_valid_string(license_, self.get_license_metadata()):<EOL><INDENT>raise InvalidArgument()<EOL><DEDENT>self.my_osid_object_form._my_map['<STR_LIT>']['<STR_LIT:text>'] = license_<EOL>
Sets the license.

        arg:    license (string): the new license
        raise:  InvalidArgument - ``license`` is invalid
        raise:  NoAccess - ``Metadata.isReadOnly()`` is ``true``
        raise:  NullArgument - ``license`` is ``null``
        *compliance: mandatory -- This method must be implemented.*