package org.ovirt.engine.core.bll.context;
import java.util.Collection;
import org.ovirt.engine.core.common.businessentities.BusinessEntity;
import org.ovirt.engine.core.common.businessentities.BusinessEntityWithStatus;
import org.ovirt.engine.core.common.businessentities.TransientCompensationBusinessEntity;
import org.ovirt.engine.core.compat.Guid;
/**
* An implementation of COmpensation Context that does nothing - will be used by commands that do not implement
* compensation. This class is stateless, therefore it is possible to use a single instance of it
*/
public class NoOpCompensationContext extends CompensationContextBase {
private static final NoOpCompensationContext instance = new NoOpCompensationContext();
private NoOpCompensationContext() {
}
@Override
public void snapshotEntity(BusinessEntity<?> entity) {
}
@Override
public void snapshotEntityUpdated(BusinessEntity<?> entity) {
}
@Override
public void snapshotNewEntity(BusinessEntity<?> entity) {
}
@Override
public <T extends Enum<?>> void snapshotEntityStatus(BusinessEntityWithStatus<?, T> entity, T status) {
}
@Override
public <T extends Enum<?>> void snapshotEntityStatus(BusinessEntityWithStatus<?, T> entity) {
}
@Override
public void snapshotObject(TransientCompensationBusinessEntity entity) {
}
@Override
public void stateChanged() {
}
@Override
public void doAfterCompensationCleanup() {
}
@Override
public void doCleanupCompensationDataAfterSuccessfulCommand() {
}
@Override
public void doClearCollectedCompensationData() {
}
public static CompensationContext getInstance() {
return instance;
}
@Override
public void snapshotEntities(Collection<? extends BusinessEntity<?>> entities) {
}
@Override
public void snapshotNewEntities(Collection<? extends BusinessEntity<?>> entities) {
}
@Override
public boolean isCompensationEnabled() {
return false;
}
@Override
public Guid getCommandId() {
return null;
}
}