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.*

def set_license(self, license_):
        """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.*

        """
        if license_ is None:
            raise NullArgument('license cannot be None')
        if not utilities.is_string(license_):
            raise InvalidArgument('license must be a string')
        if self.get_license_metadata().is_read_only():
            raise NoAccess()
        if not self.my_osid_object_form._is_valid_string(license_, self.get_license_metadata()):
            raise InvalidArgument()
        self.my_osid_object_form._my_map['license']['text'] = license_