package org.ovirt.engine.core.dao.profiles; import java.util.List; import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.GenericDao; public interface DiskProfileDao extends ProfilesDao<DiskProfile>, GenericDao<DiskProfile, Guid> { /** * Retrieves all disk profiles associated with the given storage domain id. * * @param storageDomainId * the storage domain's ID * @return the list of disk profiles */ List<DiskProfile> getAllForStorageDomain(Guid storageDomainId); /** * set null in qos field for all disk profiles attached to storage domain * (when detaching SD for data center, we should remove any attachment to qos, which is part of the * old data center) * * @param storageDomainId * Detached storage domain id */ void nullifyQosForStorageDomain(Guid storageDomainId); /** * Retrieves all disk profiles associated with the given storage domain id, according user's permissions. * * @param storageDomainId * the storage domain's ID * @param userId * the user's ID * @param isFiltered * indicating whether the results should be filtered according to the user's permissions * @return the list of disk profiles */ List<DiskProfile> getAllForStorageDomain(Guid storageDomainId, Guid userId, boolean isFiltered); }