@utilities.arguments_not_none<EOL><INDENT>def set_end_date(self, date):<DEDENT>
if self.get_end_date_metadata().is_read_only():<EOL><INDENT>raise errors.NoAccess()<EOL><DEDENT>if not self._is_valid_date_time(date, self.get_end_date_metadata()):<EOL><INDENT>raise errors.InvalidArgument()<EOL><DEDENT>self._my_map['<STR_LIT>'] = date<EOL>
Sets the end date.

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