package org.ovirt.engine.core.dao;
import java.util.List;
import org.ovirt.engine.core.common.businessentities.VdsNumaNode;
import org.ovirt.engine.core.compat.Guid;
public interface VdsNumaNodeDao extends Dao {
/**
* Get all numa nodes of a vds by vds id
* @param vdsId
* the id of vds
* @return the list of numa nodes
*/
List<VdsNumaNode> getAllVdsNumaNodeByVdsId(Guid vdsId);
/**
* Save the given list of numa nodes using a more efficient method to save all of them at
* once, rather than each at a time.
*
* @param numaNodes
* the numa nodes to be saved
* @param vdsId
* the vds id that the numa nodes belong to(leave null if save vmNumaNode)
*/
void massSaveNumaNode(List<VdsNumaNode> numaNodes, Guid vdsId);
/**
* Update non-statistics data of the given list of numa nodes using a more efficient method
* to update all of them at once, rather than each at a time.
*
* @param numaNodes
* the numa nodes to be updated
*/
void massUpdateNumaNode(List<VdsNumaNode> numaNodes);
/**
* Remove numa nodes using a more efficient method to remove all of them at once,
* rather than each at a time.
*
* @param numaNodeIds
* the numa node ids to be removed
*/
void massRemoveNumaNodeByNumaNodeId(List<Guid> numaNodeIds);
/**
* Update the statistics data of the given list of numa nodes using a more efficient method
* to update all of them at once, rather than each at a time.
*
* @param numaNodes
* the numa nodes to be updated
*/
void massUpdateNumaNodeStatistics(List<VdsNumaNode> numaNodes);
}