docs: def set_assets(self, asset_ids=None):
          """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.
  
          """
          if asset_ids is None:
              raise NullArgument()
          metadata = Metadata(**settings.METADATA['asset_ids'])
          if metadata.is_read_only():
              raise NoAccess()
          if self._is_valid_input(asset_ids, metadata, array=True):
              for asset_id in asset_ids:
                  self._my_map['assetIds'].append(str(asset_id))
          else:
              raise InvalidArgument