def set_assets(self, asset_ids=None):
if asset_ids is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>metadata = Metadata(**settings.METADATA['<STR_LIT>'])<EOL>if metadata.is_read_only():<EOL><INDENT>raise NoAccess()<EOL><DEDENT>if self._is_valid_input(asset_ids, metadata, array=True):<EOL><INDENT>for asset_id in asset_ids:<EOL><INDENT>self._my_map['<STR_LIT>'].append(str(asset_id))<EOL><DEDENT><DEDENT>else:<EOL><INDENT>raise InvalidArgument<EOL><DEDENT>
Sets the assets.

        arg:    assetIds (osid.id.Id): the asset Ids
        raise:  INVALID_ARGUMENT - assetIds is invalid
        raise:  NullArgument - assetIds is null
        raise:  NoAccess - metadata.is_read_only() is true
        compliance: mandatory - This method must be implemented.