package org.ovirt.engine.core.bll.tasks; import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; import org.ovirt.engine.core.common.businessentities.CommandAssociatedEntity; import org.ovirt.engine.core.common.businessentities.CommandEntity; import org.ovirt.engine.core.compat.CommandStatus; import org.ovirt.engine.core.compat.DateTime; import org.ovirt.engine.core.compat.Guid; public interface CommandsCache { CommandEntity get(Guid commandId); Set<Guid> keySet(); void remove(Guid commandId); void put(CommandEntity cmdEntity); void persistCommandAssociatedEntities(Collection<CommandAssociatedEntity> cmdAssociatedEntities); List<CommandAssociatedEntity> getCommandAssociatedEntities(Guid cmdId); List<Guid> getCommandIdsByEntityId(Guid entityId); void removeAllCommandsBeforeDate(DateTime cutoff); void updateCommandData(Guid commandId, Map<String, Serializable> data); void updateCommandStatus(Guid commandId, CommandStatus status); void updateCommandExecuted(Guid commandId); void updateCallbackNotified(Guid commandId); List<CommandEntity> getChildCmdsByParentCmdId(Guid cmdId); }