/*
* SPDX-FileCopyrightText: 2021-2023 The Refinery Authors
*
* SPDX-License-Identifier: EPL-2.0
*/
package tools.refinery.store.query.resultset;
import tools.refinery.store.map.Cursor;
import tools.refinery.store.map.Cursors;
import tools.refinery.store.query.ModelQueryAdapter;
import tools.refinery.store.query.dnf.Query;
import tools.refinery.store.tuple.Tuple;
public record EmptyResultSet(ModelQueryAdapter adapter, Query query) implements ResultSet {
@Override
public ModelQueryAdapter getAdapter() {
return adapter;
}
@Override
public Query getCanonicalQuery() {
return query;
}
@Override
public T get(Tuple parameters) {
return query.defaultValue();
}
@Override
public Cursor getAll() {
return Cursors.empty();
}
@Override
public int size() {
return 0;
}
@Override
public void addListener(ResultSetListener listener) {
// No need to store the listener, because the empty result set will never change.
}
@Override
public void removeListener(ResultSetListener listener) {
// No need to remove the listener, because we never stored it.
}
}