summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/translation/mapping/EntryMap.java
blob: e1a3253328a1c12eac99cde49290791e4b4ce125 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cuchaz.enigma.translation.mapping;

import cuchaz.enigma.translation.representation.entry.Entry;

import javax.annotation.Nullable;
import java.util.stream.Stream;

public interface EntryMap<T> {
	void insert(Entry<?> entry, T value);

	@Nullable
	T remove(Entry<?> entry);

	@Nullable
	T get(Entry<?> entry);

	default boolean contains(Entry<?> entry) {
		return get(entry) != null;
	}

	Stream<Entry<?>> getAllEntries();

	boolean isEmpty();
}