package org.eclipse.viatra.solver.data.model; import java.util.Set; import org.eclipse.viatra.solver.data.map.Cursor; import org.eclipse.viatra.solver.data.map.Versioned; import org.eclipse.viatra.solver.data.model.representation.DataRepresentation; public interface Model extends Versioned{ @SuppressWarnings("squid:S1452") Set> getDataRepresentations(); V get(DataRepresentation representation, K key); Cursor getAll(DataRepresentation representation); V put(DataRepresentation representation, K key, V value); void putAll(DataRepresentation representation, Cursor cursor); long getSize(DataRepresentation representation); ModelDiffCursor getDiffCursor(long to); }