summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/EnigmaServices.java
blob: df3b7bba5d81608187b39682a28f55a242b18734 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package cuchaz.enigma;

import com.google.common.collect.ImmutableListMultimap;
import cuchaz.enigma.api.service.EnigmaService;
import cuchaz.enigma.api.service.EnigmaServiceType;

import java.util.List;

public final class EnigmaServices {
	private final ImmutableListMultimap<EnigmaServiceType<?>, EnigmaService> services;

	EnigmaServices(ImmutableListMultimap<EnigmaServiceType<?>, EnigmaService> services) {
		this.services = services;
	}

	@SuppressWarnings("unchecked")
	public <T extends EnigmaService> List<T> get(EnigmaServiceType<T> type) {
		return (List<T>) services.get(type);
	}
}