package com.lordofthejars.nosqlunit.core;
import java.io.InputStream;
public abstract class AbstractCustomizableDatabaseOperation<S,T> implements DatabaseOperation<T> {
protected InsertionStrategy<S> insertionStrategy;
protected ComparisonStrategy<S> comparisonStrategy;
public void setComparisonStrategy(ComparisonStrategy<S> comparisionStrategy) {
this.comparisonStrategy = comparisionStrategy;
}
public boolean executeComparison(S connection, InputStream dataset) throws NoSqlAssertionError, Throwable {
return comparisonStrategy.compare(connection, dataset);
}
public void setInsertionStrategy(InsertionStrategy<S> insertationStrategy) {
this.insertionStrategy = insertationStrategy;
}
public void executeInsertion(S connection, InputStream dataset) throws Throwable {
insertionStrategy.insert(connection, dataset);
}
}