package org.ovirt.engine.core.dao; import java.util.List; import org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk; import org.ovirt.engine.core.compat.Guid; public interface UnregisteredDisksDao extends Dao { /** * Retrieves the disk with the given entityId and storage domain id.<BR/> * If the Storage Domain id is null, then return all the unregistered disks with the diskId.<BR/> * If the disk id is null, then return all the unregistered disks of the Storage Domain id.<BR/> * If the disk id and Storage Domain id is null, then return all the unregistered disks in unregistered disks. * * @param diskId * The Disk Id. * @param storageDomainId * The Storage Domain Id. * @return The entity instance, or {@code null} if not found. */ public List<UnregisteredDisk> getByDiskIdAndStorageDomainId(Guid diskId, Guid storageDomainId); /** * Insert a new disk entity to the unregistered table. */ public void saveUnregisteredDisk(UnregisteredDisk disk); /** * Remove a disk from the unregistered table. If the Storage Domain id is null, then remove the unregistered disk * with the diskId.<BR/> * If the disk id is null, then remove all the unregistered disks of this Storage Domain id.<BR/> * If the disk id and Storage Domain id is null, then remove all the unregistered disks in unregistered disks. * * @param diskId * The Disk Id. * @param storageDomainId * The Storage Domain Id. */ public void removeUnregisteredDisk(Guid diskId, Guid storageDomainId); /** * Remove a disk from the unregistered table related to VM. * * @param vmId * The VM Id. * @param storageDomainId * The Storage Domain Id. */ public void removeUnregisteredDiskRelatedToVM(Guid vmId, Guid storageDomainId); }