package org.ovirt.engine.core.dao; import java.util.Collection; import java.util.List; import org.ovirt.engine.core.common.businessentities.VmDeviceId; import org.ovirt.engine.core.common.businessentities.storage.DiskVmElement; import org.ovirt.engine.core.compat.Guid; public interface DiskVmElementDao extends GenericDao<DiskVmElement, VmDeviceId> { /** * Retrieves a disk VM elements by its id. * * @param id * the ID of the disk VM element * @param userID * the ID of the user requesting the information * @param isFiltered * Whether the results should be filtered according to the user's permissions * * @return the disk VM element with the given id or null if none found */ DiskVmElement get(VmDeviceId id, Guid userID, boolean isFiltered); /** * Retrieves all disk VM elements for the specified disk id. * @param diskId * the disk id. * @return the list of disk VM elements. */ List<DiskVmElement> getAllDiskVmElementsByDiskId(Guid diskId); /** * Retrieves all disk VM elements for the specified disks ids. * @param disksIds * the disks ids. * @return the list of disk VM elements. */ List<DiskVmElement> getAllDiskVmElementsByDisksIds(Collection<Guid> disksIds); /** * Retrieves all disk VM elements for the specified virtual machine id. * * @param vmId * the VM id * @return the list of disk VM elements */ List<DiskVmElement> getAllForVm(Guid vmId); /** * Retrieves all disk VM elements for the specified virtual machine id. * * @param vmId * the VM id * @param userID * the ID of the user requesting the information * @param isFiltered * Whether the results should be filtered according to the user's permissions * * @return the list of disk VM elements */ List<DiskVmElement> getAllForVm(Guid vmId, Guid userID, boolean isFiltered); /** * Retrieves all disk VM elements for plugged disk attached to the specified virtual machine id. * * @param vmId * the VM id * @return the list of disk VM elements */ List<DiskVmElement> getAllPluggedToVm(Guid vmId); }