package org.ovirt.engine.core.dao;
import java.util.List;
import org.ovirt.engine.core.common.businessentities.OvfEntityData;
import org.ovirt.engine.core.common.businessentities.VmEntityType;
import org.ovirt.engine.core.compat.Guid;
public interface UnregisteredOVFDataDao extends Dao {
/**
* Retrieves the entity with the given entityId and storage domain id.<BR/>
* If the Storage Domain id is null, then return all the unregistered entities with the entityId.
*
* @param entityId
* The Entity Id.
* @param storageDomainId
* The Storage Domain Id.
* @return The entity instance, or {@code null} if not found.
*/
public List<OvfEntityData> getByEntityIdAndStorageDomain(Guid entityId, Guid storageDomainId);
/**
* Retrieves all the entities of the given type related to the storage Domain Id.
*
* @param storageDomainId
* The Storage Domain Id.
* @param entityType
* The entity type (VM/Template).
* @return List of all the OvfEntityData related to the storage Domain Id, or an empty list if none is found.
*/
public List<OvfEntityData> getAllForStorageDomainByEntityType(Guid storageDomainId, VmEntityType entityType);
/**
* Insert new entity to the unregistered table.
*/
public void saveOVFData(OvfEntityData ovfEntityData);
/**
* Remove an entity from the unregistered table.
*
* @param entityId
* The Entity Id.
* @param storageDomainId
* The Storage Domain Id.
*/
public void removeEntity(Guid entityId, Guid storageDomainId);
}