blob: 86507bcac754d489ab401afb02007da12cd9c69b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package cuchaz.enigma;
import com.google.common.collect.ImmutableMap;
import cuchaz.enigma.api.service.EnigmaService;
import cuchaz.enigma.api.service.EnigmaServiceType;
import java.util.Optional;
public final class EnigmaServices {
private final ImmutableMap<EnigmaServiceType<?>, EnigmaService> services;
EnigmaServices(ImmutableMap<EnigmaServiceType<?>, EnigmaService> services) {
this.services = services;
}
@SuppressWarnings("unchecked")
public <T extends EnigmaService> Optional<T> get(EnigmaServiceType<T> type) {
EnigmaService service = services.get(type);
return Optional.ofNullable((T) service);
}
}
|