@utilities.arguments_not_none<EOL><INDENT>def set_level(self, grade):<DEDENT>
if self.get_level_metadata().is_read_only():<EOL><INDENT>raise errors.NoAccess()<EOL><DEDENT>if not self._is_valid_id(grade):<EOL><INDENT>raise errors.InvalidArgument()<EOL><DEDENT>self._my_map['<STR_LIT>'] = str(grade)<EOL>
Sets the level expressed as a ``Grade``.

        arg:    grade (osid.grading.Grade): the level
        raise:  InvalidArgument - ``grade`` is invalid
        raise:  NoAccess - ``Metadata.isReadOnly()`` is ``true``
        raise:  NullArgument - ``grade`` is ``null``
        *compliance: mandatory -- This method must be implemented.*