aboutsummaryrefslogtreecommitdiffstats
path: root/store/src/main/java/org/eclipse/viatra/solver/data/model/Model.java
blob: 2b21e3e7f4a2a7a1760510b55481d589ef587c59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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<DataRepresentation<?, ?>> getDataRepresentations();
	
	<K,V> V get(DataRepresentation<K,V> representation, K key);
	<K,V> Cursor<K,V> getAll(DataRepresentation<K,V> representation);
	<K,V> V put(DataRepresentation<K,V> representation, K key, V value);
	<K,V> void putAll(DataRepresentation<K,V> representation, Cursor<K,V> cursor);
	<K,V> long getSize(DataRepresentation<K,V> representation);
	
	ModelDiffCursor getDiffCursor(long to);
}